8、halcon基于形状模板匹配
1、模板匹配基本原理
模板匹配:通俗讲就是,拿着模板去匹配,就是先制作一个模板,然后利用这个模板去图像中寻找与模板相似的部分,并记录寻找到的位置。
模板匹配分类:按照有无变形,分为刚性模板匹配与变形模板匹配,变形模板匹配比较复杂,工业上基本是基本使用的刚性模板匹配。
常用匹配方式:ncc模板匹配、形状模板匹配和XLD模板匹配。
模板匹配原理:模板匹配是通过搜索的方式进行匹配,比如最简单的匹配。举例:
假设模板为:
2 5
1 6
搜索对象为:
1 5 9 8
2 5 3 9
7 2 2 5
5 7 1 6
当搜索完全重合时:
|2-2|+|5-5|+|1-1|+|6-6|=0
ncc模板匹配原理:模板图像减去模板图像的平均值后,再与图像减去图像的平均值后,求两个差值的乘积,再除以灰度方差。
相当于零均值,对光照变化的敏感度变低。
公式:
形状模板匹配原理:模板创建后,会根据模板中的边缘等关系去图像中进行搜索,可以理解成提取模板中的灰度发生变化的那些点,然后再去图像中匹配,这样的效果是对于干扰比较稳定,匹配速度快,并且及时边缘发生部分遮挡,匹配效果依旧好。
XLD模板匹配原理:XLD是亚像素轮廓,所谓XLD模板匹配,是直接利用灰度变化明显的地方进行XLD的提取,然后去图像中进行匹配。
(工业设备上,更多使用XLD模板匹配,且更可靠、稳定)
2、XLD模板创建和匹配
(1)、XLD模板创建
读取图片
创建XLD模板(在模板上手动边缘轮廓,替代程序识别XLD轮廓)
手动画矩形,作为模板XLD轮廓
保存XLD模板
在程序工程保存的文件夹下,可以看到保存的模板和XLD的hobj文件。
(2)模板匹配
读取要识别的图片
读取保存的XLD模板和XLD轮廓区域文件
将1.bmp图像中多个轮廓区域匹配出来
匹配结果:
程序完整工程代码下载链接:
https://download.csdn.net/download/panjinliang066333/12194228