学习OpenCV:matchTemplate模板匹配原理分析

本文深入解析模板匹配技术,包括灰度、形状及特征匹配方法,探讨OpenCV提供的多种匹配算法如TM_SQDIFF、TM_CCORR_NORMED等,并介绍如何通过旋转匹配、金字塔、形状匹配和亚像素提升匹配精度。

自己的一些理解,仅供参考。

模板匹配无法就是在目标图中找出与模板图最相似的对应的坐标位置 。

通过整体图像的整体灰度值来判断就是灰度匹配;通过图像的边缘信息来判断就是形状匹配;通过图像的角点等特征点来判断就是特征匹配。

模板匹配中,最重要的就是定义两幅图像的相似度,根据相似度的最值即可在目标图中找到对应的坐标。

定义两幅图片相似度需要根据图片的实际情况选择,OpenCV这里提供了包含以下方法,MATLAB中还提供了一些其他方法。

差值平方和匹配 TM_SQDIFF
标准化差值平方和匹配 TM_SQDIFF_NORMED
相关性匹配 TM_CCORR
标准化相关匹配 TM_CCORR_NORMED
相关性系数匹配 TM_CCOEFF
标准相关性系数匹配 TM_CCOEFF_NORMED

 这里简单说明一下这几个方法的区别,欢迎留言指正。

TM_SQDIFF:即为SSD,得到结果其实为不相似度,如果你在寻找精确或非常接近精确的匹配,使用SSD。它速度很快,而且它肯定会找到相似值的最小值。不具备光照不变性。对应的TM_SQDIFF_NORMED得到的结果的具体数学意义不知道是什么,公式本身是可以大于1的,但实际试验发现大于1的值会等于1。

y=kx+b,y为输出图像,x为输入图像,则斜率k为对比度,截距b为亮度。

TM_CCORR_NORMED:向量相乘公式a·b=x1x2+y1y2=|a||b|cosθ,把图片当成向量,相似值则cosθ,在0到1之间,当两个向量平行时cosθ=1,对应的当图像整体乘于某个值时两张图像仍然为相似,即可不用考虑斜率k。而TM_CCOEFF_NORMED则是为了忽略截距b的影响,将向量平移到均值中,相乘的两个向量为与均值相减之后的向量。

(好难描述,将就一下。。。)

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值