测量大尺寸图像轮廓的距离

Viewed 113

如图所示为大尺寸线扫图像,中间黑色区域为模拟的裂纹,测量其Y方向裂纹的间距,某处间距小于或大于某值时判为NG,有哪些比较好的节约资源的方法?
1.png
2.png

1 Answers

直接使用行(列)投影+多数据斑点算法,裂纹为黑色,背景为白色,裂纹的间距可以转换为行(列)投影的值新作业_9.task
image.png
再使用多数据斑点进行过滤,根据多数据斑点的检出结果来判断是否NG
image.png
若想要具体的间距数值可以根据多数据斑点的位置和宽度构建矩形进行计算

更新后的task新作业_9999.task
-------------------------------------
0821更新的task新作业_11.task

基于数据斑点来实现可能是唯一的方法,但问题期望能够基于间距的大小来进行NG管控,所以,还得努力一下,把数据斑点中需要设置的最大值和最小值和裂纹的轮廓局部的间距大小对应起来,让用户可以通过修改间距管控的最大小值来影响数据斑点的最大最小值。

已知图片背景像素为255,裂纹像素为0,可以根据公式(图像高度-裂纹间距)*255/图像高度来计算Y方向上的均值,从而确定数据斑点的阈值,具体见答案里更新的新作业_9999task,输入最小裂纹间距阈值和最大裂纹间距阈值,当存在小于最小裂纹间距阈值和大于裂纹间距阈值的裂纹时,会被判断成NG

公式里用的裂纹间距、图像高度皆为像素单位,实际还需要根据标定数据先将物理值转换为像素值进行计算