现在大家对VisionPro的卡尺工具应该很熟悉了,是时候了解下它的原理了。有人问不应该先理解工具原理再使用它吗?个人觉得这是典型的学校思维,在工作的时候是没有时间让你知道工具原理是什么的,先用起来才是王道,等你熟悉了,自然也就明白了它的作用原理。
简单来说,VisionPro卡尺Caliper边缘检测的过程如下图所示。
首先将卡尺区域图像的灰度值按照卡尺的搜索方向开始向投影方向计算,最后得到一个一维数组一样的东西,就是上图的第二行。然后使用卷积滤波算法将其特征化,具体的滤波方式也在图上,这里简单说明一下怎么滤波的。
卷积滤波算法
图中Filtered operator是卷积核,这个东西按照自己的需求条件,卷积核越大,滤波后的干扰越少。卷积算法是这样的,将卷积核与对应的每个位置的像素相乘再相加得到新的像素值。举个例子,上图最左侧开始滤波,第一个滤波结果计算为:(0*-1)+(0*0)+(0*+1)=0。
最后再将滤波后的新数组绘制成折线图,就如上图所示了,其波峰就是我们要找的边缘特征,即变化明显的地方。
下图是滤除更多干扰的示例:
很明显,小波峰变少了,最后得到的大波峰才是我们需要的值,当然,有时候大波峰不是我们需要的值,这个时候就可以改变卡尺工具的阈值来分割这个折线图了。
对比度阈值调节的是图中两条横向的虚线,具体效果自行测试。
评论 (0)