模板匹配里的一些数学原理
1|0模板匹配里的一些数学原理
我们知道,在openCV里,模板匹配中匹配度的计算公式有三类。SQDIFF、CCORR、CCOEFF。下面我们来简单介绍一下这三类计算方法,并比较其不同之处。

1|1SQDIFF
SQDIFF全称Sum of Squared Difference (SSD),即差的平方和。其离散形式为:
我们将模板图像与待匹配图像均展开成一维向量,即一维离散信号:
则E可以表示为:
这样就很好理解了,就是两个图像中每个像素之差的平方和,类似于线性回归中的MSE(Mean-Square Error)损失函数。
我们再写成向量形式:
这样可以发现,SQDIFF其实就是用来度量模板图片与待匹配图片的欧式距离。
在 (*) 式中,我们将模板图片与待匹配图片均展成了一维向量,而这也充分表明了模板匹配的局限性:无法包含空间信息,如旋转、伸缩等
SQDIFF_NORMED就是对SQDIFF进行归一化,这里不多赘述。
1|2CCORR
CCORR 的全称为 Cross Correlation,意即互相关,其离散形式为:
反映了待匹配图像与模板图像的相似性。
为什么这个式子可以反应两个图像的相似性呢?
我们还是将图像展成一维离散信号进行分析:
则E可以表示为:
当模板图像与待匹配图像的相关性越好时,与之间的夹角越小,也就是两个向量靠得越近,此时越大,也就越大
其归一化形式:
其全称为Normalized Cross Correlation (NCC),意即归一化互相关.
我们还是将图像展成一维离散信号,则E可以表示为:
也就是两个向量之间的夹角,范围为,越接近1则相关性越好。
1|3CCOEFF
CCOEFF 的全称为 Correlation Coefficient, 意即相关系数,也就是零均值互相关 (Zero-mean Cross Correlation; ZCC)
其离散形式:
可以发现,CCOEFF的计算相当于CCORR中的像素值替换成了(像素值-图像像素均值),这样做的好处就是减弱了光照对于图像匹配的影响,鲁棒性更强💪
其归一化形式又叫做 ZNCC(Zero-normalized cross-correlation),感兴趣可以自行查阅资料
1|4三种方法比较
一般来说,我们使用CCOEFF/NORMED,其鲁棒性比会比CCORR更强;SQDIFF的算法较为简朴,缺点很多,较少使用。
__EOF__

本文链接:https://www.cnblogs.com/Asaka-QianXiang/p/18025093.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-02-21 【线性代数复习笔记】矩阵特征值,特征向量,相似对角化与实对称矩阵