如何使用OpenCV检测遮挡的条形?

时间:2018-11-16 01:02:52

标签: opencv image-processing parallel-processing line object-detection

我有一些旋转栅门的图像,需要确定其方向。这是两个没有任何物体的示例,位于其较亮条的前面。

水平方向的条形:

enter image description here

垂直方向的条形:

enter image description here

如您所见,旋转栅栏有一个清晰的图案:深色背景上的白色栅栏(平行边)。对于这些图像,我的检测管道为:

  1. 用高斯滤镜模糊图像;
  2. 阈值;
  3. 应用一些打开和关闭形态操作;
  4. 通过应用Canny检测器检测其边缘;
  5. 使用概率霍夫变换检测垂直线和水平线;
  6. 对平行线进行分组,并排除距离大于阈值的平行线。

如您在下图中所看到的,该管道运行良好。

enter image description here

但是,我的问题是要处理带有对象的图像,如下所示:

enter image description here

有人拿着背包,上面刻有一些线条。我知道这是一个特定的情况,但是我的意思是,当某人(或某物)在旋转门白条前面时,检测到许多嘈杂的线条,我不能简单地为霍夫变换选择一个较高的累加器值,因为在这种情况下条被遮挡,因此条的长度较短。

我的问题是:该任务是否有更好,更简单的管道?我的意思是,是否有一种方法不仅可以通过检测其平行线来分割该条,而且还可以考虑其规则纹理?我尝试使用Gabor滤镜,但无法获得更好的结果。

感谢您阅读此问题。如果你们能给我任何建议,我将不胜感激。

0 个答案:

没有答案