【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
模板匹配是图像中经常使用到的功能。我看过很多现场配置部署的同学,虽然他们使用的是类似于vision master、visio pro这样的专业机器视觉软件,但是大家会使用的功能也集中在模板匹配上面。来一个零件,匹配一次。如果零件的数量非常大,就变成了体力活。所以,这从另外一个方面也说明了,模板匹配本身是非常好用,但是也不要滥用。
1、创建工程和创建流程
创建工程和创建流程是基础。这是做项目必不可少的部分。
2、引入模板匹配的控件
模板匹配的控件位于【对位工具】下面的【灰度匹配】。要使用好这个控件,需要有两个步骤。第一步,配置好模板。第二步,设置好配置参数。
如果是配置模板,那么需要先选择模板区域,然后单击添加按钮,这个时候右侧的图像区域就会选择一个选择框,我们调整一下选择框。最后单击创建模板这个按钮,模板就创建好了。
使用模板则稍微复杂一点,刚才的模板既然已经创建好了,下面就是配置算法参数。参数一般采用默认的数值,需要调整的只有匹配个数和搜索角度范围。前者一般是1,后者一般是180度。大家可以针对自己的情况稍作调整。应用的时候,最好选择不一样的图片进行确认和测试。注意的是,这里的执行是模板使用,不是模板创建,两者不一样。
没啥问题的话,我们就可以在输出显示中看到对应的结果信息。如图所示,它告诉我们匹配了一个模板,匹配的中心是612、613,角度是138.9度,匹配的分数是0.98。
3、设计测试流程
整个测试流程需要考虑到图像读取和显示。图像读取需要两个,一个是做模板使用的,一个是做测试使用的。美中不足的,这个参数模板的输入框被设置成了只读属性。如果之前模板已经匹配好了,这么做其实是不合适的。另外也需要两个显示,一个是显示模板的图片,一个是显示获取检测结果之后的图片。
流程设置好了,不出意外,单机下Once按钮就可以让我们看到相应的效果了。除了这一点,我们还可以观察下每个插件执行的时间是多少。两个获取图像花费的时间,一个是22ms,一个是30ms,两者差别不大。但是第三个插件,也是本次学习的重点,灰度匹配则花费了较多的时间,长度上接近了1s。所以对于模板的全局查找,固然从算法和实际应用的状况来看都是可行的,但是这个效率上面要弱很多,这是需要注意的。最后两个图像显示,两者花费的时间都是3ms,说明这部分基本上可以忽略不计。
所以借助于光源和模板去解决客户的问题,如果检测效率不做要求,其实还是非常好的一个办法。但是如果客户对于采集处理的时间要求特别高,这个时候就要自己去识别和挖掘特征了。挖掘的过程就类似于把自己的技术知识和客户的行业知识结合起来,这样成功率更高一点。单纯使用模板本身,忽略其他方法,这有点一刀切了。