开启左侧

斷齒的AOI檢測

[复制链接]
tim0214 发表于 2019-5-6 13:46:00 | 显示全部楼层 |阅读模式
Hi 各位大大請指教

原圖

原圖

以下右圖是個正常的齒輪圖,左圖是個斷齒的圖!
test - NG.png test.png
請問各位大大,如果不使用模板比對的方式,有無其他方法可以檢測出是否斷齒及斷齒的面積?

以下是我所想的方式,利用gen_measure_arc和measure_pos找出齒輪的邊緣,然後再用distance_pp算出邊緣的長度。
有點微分的方式,去求齒輪的面積,若是少於標準值則判定為斷齒?

目前的方法\

目前的方法\

可是感覺這ˋ種方式穩定性太差,所以特來請求各位大大的指點,能給小弟我一條不一樣的思維,感謝~

绝地武士 发表于 2019-5-6 14:20:05 | 显示全部楼层
20190506.png
蓝色的部分是断齿???
 楼主| tim0214 发表于 2019-5-6 15:06:18 | 显示全部楼层
绝地武士 发表于 2019-5-6 14:20
蓝色的部分是断齿???

先謝謝大大的回覆,...
是的...
绝地武士 发表于 2019-5-6 17:26:08 | 显示全部楼层
tim0214 发表于 2019-5-6 15:06
先謝謝大大的回覆,...
是的...

利用模板定位然后使用标准区域(提前和模板做好,必须是完整的)与实际图像区域的差集计算偏差的部分(背景差法)就可以得到差异了!
 楼主| tim0214 发表于 2019-5-7 13:31:51 | 显示全部楼层
绝地武士 发表于 2019-5-6 17:26
利用模板定位然后使用标准区域(提前和模板做好,必须是完整的)与实际图像区域的差集计算偏差的部分(背 ...



Hi 大大的意思是這樣嗎?
1. select_shape
2. shape_trans
3. difference
4. area_center

利用以上的演算法可以得到鋸齒的面積,然後用面積去看是否斷齒?..(斷齒的話,面積較小)

若不是,能否告知?..有無更快的做法?


test2.png
绝地武士 发表于 2019-5-7 13:47:47 | 显示全部楼层
tim0214 发表于 2019-5-7 13:31
Hi 大大的意思是這樣嗎?
1. select_shape
2. shape_trans

对齐之类的我就不写了,我模拟了完好那个图然后加了一点缺上去,写了一个简单的参考代码:
  1. read_image (Image1, '51halcon_1')
  2. rgb1_to_gray (Image1, GrayImage1)
  3. read_image (Image2, '51halcon_2')
  4. rgb1_to_gray (Image2, GrayImage2)
  5. threshold (GrayImage1, Region1, 0, 180)
  6. threshold (GrayImage2, Region2, 0, 180)
  7. symm_difference (Region1, Region2, RegionDifference)
复制代码
参考效果:
QQ截图20190507134713.png
图片如下:
51halcon_1780.rar (183.82 KB, 下载次数: 8)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表