当轮廓可以被撕裂时,如何检测简单的形状(使用emgu cv)?

时间:2016-07-28 15:25:24

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

我需要在图片中找到最流行的简单形状(通常是矩形)的坐标。我使用了这里描述的方法(Simple approach for finding rectangles)。但我已经面对图中所示的情况。有些盒子有边缘撕裂,我无法用标准方法检测到它们。这些矩形以红色圈出。 Objects have torn contours您会建议什么解决方案?

更新:

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

  1. 扩张
  2. Dilate image before binarization

    1. 侵蚀
    2. Erode image before binarization

1 个答案:

答案 0 :(得分:0)

  1. 使用小结构元素
  2. 进行简单扩张
  3. 查找已连接的组件
  4. 对于每个连接的组件,我将计算组件中像素数除以边界框区域之间的比率,我只保留非常接近1的区域。