原创文章,版权所有。转载请注明出处:http://www.letao.ai/?p=292
在机器视觉中,视觉定位是非常重要的一块。商业视觉软件包, 像mil、halcon、cognex等,都会包含视觉定位模块。
模板匹配是视觉定位中常用的算法,这里主要讲下基于灰度互相关的匹配算法, Normalized Cross Correlation, NCC。
灰度互相关的数学思想是,将二维图像,简化成一维数据,使用互相关公式,对比一维数据之间的相关性。
互相关公式:
使用互相关进行模板匹配的步骤如下:
1.首先,对感兴趣的物件制作成模板。如芯片、器件等;
2.针对每个目标图像,取每个可能的子图像,进行滑窗卷积,计算每个子图像和模板图像的相似性;
3.求得最大相似性,如果最大相似性大于设定阈值,即认为该点和模板图像匹配,定位成功。返回对应的位置给执行机构。
上述为基本的模板匹配算法,用来视觉定位的步骤。但是这样做会存在如下问题:1.计算量大,耗时长;2.不能计算旋转角度。
针对计算量大,耗时长的问题。可以采用图像金字塔来解决,先在低分辨率下,进行初定位。再在高分辨率下,进行精定位。
芯片的定位效果图:
上图为已经成熟的算法,可以解决速度和旋转的问题。如感兴趣,可联系博主。