【发布时间】:2014-09-21 03:37:57
【问题描述】:
使用 OpenCV 的 findContours() 我有一个图像中的轮廓列表。我只对直线感兴趣,所以如果它们太“弯曲”,就应该被拒绝。问题是如何评估每个轮廓的直线度?
我查看了 fitLine(),但似乎没有返回拟合优度度量。我可以使用返回的行自行评估。
我查看 arcLength() 的目的是将其与边界矩形尺寸进行比较,但即使对于有些直线,如果轮廓点密集,弧长也可能相对较长。
我可以找到凸包并与边界矩形尺寸进行比较,但我必须分析凸面缺陷。
这里有什么有用的时刻吗?
【问题讨论】:
-
线条不完全是图像中的轮廓。请问您为什么不使用霍夫线变换来检测这些线?
-
对于我手头的问题,我需要找到轮廓,但了解它们的直线度也很有用。
-
您可以使用点-线距离平方和除以点数作为拟合优度指标。
-
"我只对直线感兴趣"但迟到了"我需要找到轮廓,但知道它们有多直也很有用"。你对这个问题的限制是矛盾的。
-
试试 LSD:线段检测器。这张纸看起来真的很好。 OpenCV 3.0 中有一个实现,但我还没有尝试过:docs.opencv.org/trunk/modules/imgproc/doc/…
标签: opencv image-processing contour