让代码更简单

VisionPro卡尺Caliper边缘检测原理

重要:本文最后更新于2020-07-21 08:24:35,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

现在大家对VisionPro的卡尺工具应该很熟悉了,是时候了解下它的原理了。有人问不应该先理解工具原理再使用它吗?个人觉得这是典型的学校思维,在工作的时候是没有时间让你知道工具原理是什么的,先用起来才是王道,等你熟悉了,自然也就明白了它的作用原理。

简单来说,VisionPro卡尺Caliper边缘检测的过程如下图所示。

VisionPro卡尺Caliper边缘检测原理

VisionPro卡尺Caliper边缘检测原理

首先将卡尺区域图像的灰度值按照卡尺的搜索方向开始向投影方向计算,最后得到一个一维数组一样的东西,就是上图的第二行。然后使用卷积滤波算法将其特征化,具体的滤波方式也在图上,这里简单说明一下怎么滤波的。

卷积滤波算法

图中Filtered operator是卷积核,这个东西按照自己的需求条件,卷积核越大,滤波后的干扰越少。卷积算法是这样的,将卷积核与对应的每个位置的像素相乘再相加得到新的像素值。举个例子,上图最左侧开始滤波,第一个滤波结果计算为:(0*-1)+(0*0)+(0*+1)=0。

最后再将滤波后的新数组绘制成折线图,就如上图所示了,其波峰就是我们要找的边缘特征,即变化明显的地方。

下图是滤除更多干扰的示例:

VisionPro卡尺Caliper边缘检测原理

VisionPro卡尺Caliper边缘检测原理

很明显,小波峰变少了,最后得到的大波峰才是我们需要的值,当然,有时候大波峰不是我们需要的值,这个时候就可以改变卡尺工具的阈值来分割这个折线图了。

VisionPro卡尺Caliper边缘检测原理

VisionPro卡尺Caliper边缘检测原理

对比度阈值调节的是图中两条横向的虚线,具体效果自行测试。

感觉很棒!可以赞赏支持我哟~

6 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐