OpenCV - 检测带有障碍物的粗糙手绘圆圈

时间:2016-09-20 22:09:53

标签: opencv computer-vision opencv3.1 opencv-contour

我一直试图从文档中提取手绘圆圈一段时间,但我所做的每一次尝试都没有达到我需要的一致性水平。

Process Album

我一直遇到的问题是2"圈"太近了它们变成了一个轮廓,破坏了我检测轮廓是否弯曲的尝试。我确信必须有更好的方法来提取这些圈子,但是它们的不完美和不一致真的让我感到难过。


我已经尝试了许多其他方法来挑出曲线,其中最准确的是:

不是使用扩张来弥合分割轮廓之间的间隙,而是找到端点并尝试继续曲线,直到它碰到另一个轮廓。
问题:我无法有效地找到轮廓的转折点,否则这将是我更喜欢的方法

如果我认为这个问题过于具体,我很抱歉#34;但我觉得计算机视觉这样的东西总能在其他地方应用。

提前感谢所有人的帮助,我在这里结束了。

编辑:我刚刚意识到专辑没有正常工作,我认为现在应该修复。

1 个答案:

答案 0 :(得分:0)

这看起来像是一个非常具有挑战性的问题,所以我写的东西很可能在实践中不能很好地运作。

为了解决这个问题,我可能会尽量从图像中删除其他内容。

如果文档的模板始终相同,则可能需要尝试删除水平和垂直线以及灰色区域。例如,给定空模板,从您正在处理的文档中减去它。可能也有可能摆脱文本。这将导致图像仅包含部分手绘圆圈。

在这样的图像上,使用霍夫变换检测圆或椭圆可能会产生一些结果(尽管形状可能远离圆形或椭圆形)。