【发布时间】:2017-04-01 19:27:14
【问题描述】:
【问题讨论】:
-
在等高线的第一个点和最后一个点之间定义一条线,并测量所有其他点到该线的平均距离。如果等高线是一条线,则平均距离接近于 0。
-
你可以做的是使用轮廓的第一个和最后一个点拟合一条线,并检查其他点是否落在它上面。您无需检查所有点来确定这一点,您只需选择每个“第 n 个”点即可。
-
为什么复杂?从两点定义线很简单。计算点到给定线的距离也很简单。您只需将距离相加并除以点数。
-
如果没有填充形状(即它们是曲线),您可以使用moments 找到轮廓的质心,然后使用pointPolygonTest 对质心进行点在轮廓测试.对于这条线,测试会说它在轮廓内。当然,仅此一点对于复杂的轮廓是不可靠的。
标签: image algorithm opencv image-processing image-segmentation