用插板识别孔

时间:2016-03-28 13:35:20

标签: opencv computer-vision detection image-recognition haar-classifier

我有很多坦克的照片。每个罐都有孔,可以插入金属板。

tank photo

我需要找到没有盘子的所有洞。

我试图通过HoughCircles搜索圈子,使用训练haar分类器,但没有得到可接受的结果。

孔很小(约30x30像素),照明不是永久性的。

我很感激任何想法。

谢谢!

4 个答案:

答案 0 :(得分:2)

如果闪电是问题,您可以尝试执行以下操作: (结果取决于这些阴影的问题)

1)最大化对比度(很好地描述here

2)canny边缘检测器。调整参数以正确检测边缘,通过检测器处理图像并在输出上执行操作(检测圆,生成ROI,检测其中的线)。

3)如果可能的话,“硬件”解决方案会产生很大的不同 - 通过向相机添加一些光来尝试均匀照明条件。我可以想象,它是最难的部分,但不幸的是,并非一切都可以通过软件解决

您可能需要结合这些步骤,以获得可靠的结果。

BTW:haar clasifier不是最好的解决方案,但它也可以工作。这取决于您提供的样品数量以及光照条件,如上所述

答案 1 :(得分:2)

非常感谢所有建议! 结果我做出了复杂的决定:

  1. haar分类器发现了所有漏洞;
  2. 接下来,我使用HoughCircles并抛出错误的漏洞;
  3. 每个洞我转换为二进制格式并计算中心周围的白色和黑色像素。
  4. 这对我的目的有用。

    enter image description here

答案 2 :(得分:1)

我会尝试用不同的步骤来做到这一点:

  1. 对整个图像进行霍夫圆检测,以便仅检测这个明亮的圆圈即坦克边界。它将为您提供感兴趣的区域。
  2. Hough圆圈仅进入ROI,在渐变/边缘图像上,以便检测所有小孔。您已经知道孔尺寸/半径是多少,因此您可以过滤结果。
  3. 对于检测到的每个小孔,进行边缘检测以检查板是否存在。
  4. 你可以分享原始图像(没有红色指示)吗?我可能会抽出一些时间进行测试。

答案 3 :(得分:1)

最好将问题分为两部分: 1.感兴趣区域检测。 这部分可以通过使用图像处理技术来完成。 一个。 rgb到灰色转换。 湾白圈应该很清楚。它可以被任何形状检测器检测到。

  1. 下一步是找出是否存在任何漏洞。 一个。根据颜色,您可以检测到您想要测试的这些圆圈。 湾我建议使用3种不同的功能。 HOG,GM和SSIM。 根据我的经验,我认为这些功能将带来良好的效果。 你可以使用视觉词或稀疏编码包来组合每个圆的特征。 C。使用viola jones dclassifier。 这是一个可以使用多个功能的adaboost分类器。