【问题标题】:OpenCV - Detect rough, hand-drawn circles with obstructionsOpenCV - 检测带有障碍物的粗糙手绘圆圈
【发布时间】:2016-09-20 22:09:53
【问题描述】:

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

Process Album

我一直遇到的问题是,当 2 个“圆”太靠近时,它们会变成一个轮廓,从而破坏了我检测轮廓是否弯曲的尝试。我确信一定有更好的方法来提取这些圆圈,但它们的不完美和不一致真的让我很难过。


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

与其使用膨胀来弥合分段轮廓之间的间隙,不如找到端点并尝试继续曲线直到它碰到另一个轮廓。
问题:我无法有效地找到曲线的转折点轮廓,否则这将是我的首选方法

如果这个问题被认为“过于具体”,我深表歉意,但我觉得像这样的计算机视觉东西总是可以应用于其他地方。

提前感谢您提供的所有帮助,我快走到尽头了。

编辑:我刚刚意识到这张专辑工作不正常,但我认为现在应该修复它。

【问题讨论】:

  • 如果我是你,我会运行一个物体检测器并训练它来装箱。

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


【解决方案1】:

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

为了缓解问题,我可能会尝试从图像中删除尽可能多的其他内容。

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

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

【讨论】:

  • 对,对不起,我忘了在我的问题中提到它,但是这些结果已经是从这个结果中减去基本形式之后的结果,但是由于某种原因,文档的分辨率发生了变化,导致它们没有对齐正确。不过,这部分过程的结果是足够一致的。如果这似乎是解决它的最佳方法,那么我遇到的主要问题是由于膨胀而连接的轮廓。所以我需要找到一种方法来连接相关轮廓而不进行膨胀或检测2个“圆圈”是否合并到一个轮廓中。
猜你喜欢
  • 1970-01-01
  • 2014-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 2015-08-14
相关资源
最近更新 更多