【问题标题】:How to detect simple shapes (using emgu cv), when a contour can be torn?当轮廓可以被撕裂时,如何检测简单的形状(使用 emgu cv)?
【发布时间】:2016-12-03 02:21:12
【问题描述】:

我需要找到图片中最流行的简单形状(通常是矩形)的坐标。我使用了这里描述的方法(Simple approach for finding rectangles)。但是我遇到了图片中显示的情况。有些盒子的边框撕裂,我无法用标准方法检测到它们。这些矩形用红色圈起来。 你有什么建议?

更新:

在二值化之前使用膨胀/腐蚀:

  1. 扩张

  1. 侵蚀

【问题讨论】:

  • 请张贴没有红圈的原图。

标签: c# opencv image-processing emgucv opencv-contour


【解决方案1】:
  1. 使用小的结构元素进行简单的膨胀
  2. 查找连接组件
  3. 对于每个连接的组件,我将计算组件中的像素数除以边界框的面积之间的比率,我将只保留非常接近 1 的那些。

【讨论】:

  • 感谢您的评论,看来您的算法应该可以工作,但是当我执行第一步(膨胀或侵蚀)时,一些边界消失了,相关对象合并了。我在描述中添加了这些案例的插图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多