Convex Hull具有预定义的顶点数

时间:2018-01-20 09:33:26

标签: matlab image-processing computer-vision convex-hull convex-polygon

我正在进行图像分割,我认为凸包可以为我提供解决问题的简单方法。目前我有多边形的多边形(见下图)。由于图像处理问题,形状没有干净的直边,因此当我使用标准凸包(在Matlab中)时,我可能会得到超过四个主角来定义它。

我的目标是强制凸包算法找到包围我的多边形的最佳4个顶点(即每个多边形最好包围4个顶点)。这可能吗?一个示例代码将不胜感激。

由于

enter image description here

1 个答案:

答案 0 :(得分:1)

“矩阵搜索算法的几何应用”(参见“应用”部分)中简要提到了最小面积边界多边形的问题。这并不简单,可能不适合你。

为了更简单(但近似)回答您的问题,您可以考虑四个基本方向并找到这些方向中最远的点,这些点定义了四边形。 (还要考虑四个中间方向,它们更适合轴对齐的矩形。)

enter image description here

如果你坚持使用一个封闭的四边形,你可以将四个边缘平移到相应垂直方向上的最远点,并找到成对的交叉点。

如果您坚持使用矩形,请计算凸包,并通过“旋转卡尺”方法找到最小面积或最小周长边界矩形。 https://geidav.wordpress.com/tag/rotating-calipers/