草庐IT

Geometry

全部标签

c++ - 如何在 C++ 中找到任意方向的最小边界框

假设我有N对正长坐标(点)的列表。如何找到包含所有这些的最小矩形?矩形还可以具有float坐标,可以任意角度旋转并进一步缩小……不仅仅是X、Y、宽度和高度!我已经知道如何找到最小的多边形或未旋转的矩形,但这不是我需要的……我想知道如何找到任意方向的最小边界框。 最佳答案 见http://www.geometrictools.com/Source/ComputationalGeometry.html“最小面积框”部分有各种示例。例如Computeaminimum-areaorientedboxcontainingthespecifie

c++ - 如何在 C++ 中找到任意方向的最小边界框

假设我有N对正长坐标(点)的列表。如何找到包含所有这些的最小矩形?矩形还可以具有float坐标,可以任意角度旋转并进一步缩小……不仅仅是X、Y、宽度和高度!我已经知道如何找到最小的多边形或未旋转的矩形,但这不是我需要的……我想知道如何找到任意方向的最小边界框。 最佳答案 见http://www.geometrictools.com/Source/ComputationalGeometry.html“最小面积框”部分有各种示例。例如Computeaminimum-areaorientedboxcontainingthespecifie

python - 如何从匀称的点列表中创建匀称的多边形?

我想从形状点创建一个多边形。fromshapelyimportgeometryp1=geometry.Point(0,0)p2=geometry.Point(1,0)p3=geometry.Point(1,1)p4=geometry.Point(0,1)pointList=[p1,p2,p3,p4,p1]poly=geometry.Polygon(pointList)给我一​​个类型错误TypeError:objectoftype'Point'hasnolen()如何从形状优美的Point对象创建Polygon? 最佳答案 如果您特

python - 如何从匀称的点列表中创建匀称的多边形?

我想从形状点创建一个多边形。fromshapelyimportgeometryp1=geometry.Point(0,0)p2=geometry.Point(1,0)p3=geometry.Point(1,1)p4=geometry.Point(0,1)pointList=[p1,p2,p3,p4,p1]poly=geometry.Polygon(pointList)给我一​​个类型错误TypeError:objectoftype'Point'hasnolen()如何从形状优美的Point对象创建Polygon? 最佳答案 如果您特

python - 找到给定点的最小面积矩形以计算长轴和短轴长度的算法

我有一组点(地理坐标值中的黑点)来自多边形(红色)的凸包(蓝色)。见图:[(560023.44957588764,6362057.3904932579),(560023.44957588764,6362060.3904932579),(560024.44957588764,6362063.3904932579),(560026.94957588764,6362068.3904932579),(560028.44957588764,6362069.8904932579),(560034.94957588764,6362071.8904932579),(560036.44957588764

python - 找到给定点的最小面积矩形以计算长轴和短轴长度的算法

我有一组点(地理坐标值中的黑点)来自多边形(红色)的凸包(蓝色)。见图:[(560023.44957588764,6362057.3904932579),(560023.44957588764,6362060.3904932579),(560024.44957588764,6362063.3904932579),(560026.94957588764,6362068.3904932579),(560028.44957588764,6362069.8904932579),(560034.94957588764,6362071.8904932579),(560036.44957588764

python - 以给定角度在矩形上查找点

我正在尝试以给定的角度(Theta)在矩形对象中绘制渐变,其中渐变的末端与矩形的周长接触。我认为使用tangent会起作用,但我无法解决问题。有没有我只是想念的简单算法?最终结果所以,这将是(angle,RectX1,RectX2,RectY1,RectY2)的函数。我希望它以[x1,x2,y1,y2]的形式返回,以便渐变将绘制在正方形上。在我的问题中,如果原点为0,则x2=-x1和y2=-y1。但它并不总是在原点上。 最佳答案 我们称a和b为矩形边,(x0,y0)为矩形中心的坐标。您需要考虑四个地区:RegionfromtoWhe

python - 以给定角度在矩形上查找点

我正在尝试以给定的角度(Theta)在矩形对象中绘制渐变,其中渐变的末端与矩形的周长接触。我认为使用tangent会起作用,但我无法解决问题。有没有我只是想念的简单算法?最终结果所以,这将是(angle,RectX1,RectX2,RectY1,RectY2)的函数。我希望它以[x1,x2,y1,y2]的形式返回,以便渐变将绘制在正方形上。在我的问题中,如果原点为0,则x2=-x1和y2=-y1。但它并不总是在原点上。 最佳答案 我们称a和b为矩形边,(x0,y0)为矩形中心的坐标。您需要考虑四个地区:RegionfromtoWhe

Python 和 OpenCV。如何检测图像中的所有(填充)圆形/圆形对象?

我正在尝试制作一个程序来打开图像,扫描它的圆形/圆形并返回坐标,以便我可以使用cv.Circle函数在检测到的圆上绘制圆.我的问题是:如何使用cv.HoughCircles()获取图像中检测到的圆的坐标/半径?使用this页面,我发现了如何检测圆圈(这花了我很多时间才发现,因为我不理解阈值之类的术语,而且Python的OpenCV文档真的很差,几乎没有)。不幸的是,在该页面上,它没有显示如何提取从创建的CvMat中检测到的每个圆圈的信息。如何提取该信息/是否有其他方法(例如使用MemoryStorage())?这是我目前的代码:importcv,opencvdefmain():im=c

Python 和 OpenCV。如何检测图像中的所有(填充)圆形/圆形对象?

我正在尝试制作一个程序来打开图像,扫描它的圆形/圆形并返回坐标,以便我可以使用cv.Circle函数在检测到的圆上绘制圆.我的问题是:如何使用cv.HoughCircles()获取图像中检测到的圆的坐标/半径?使用this页面,我发现了如何检测圆圈(这花了我很多时间才发现,因为我不理解阈值之类的术语,而且Python的OpenCV文档真的很差,几乎没有)。不幸的是,在该页面上,它没有显示如何提取从创建的CvMat中检测到的每个圆圈的信息。如何提取该信息/是否有其他方法(例如使用MemoryStorage())?这是我目前的代码:importcv,opencvdefmain():im=c