简单而言,模板就是一幅已知的小图像。模板匹配就是在一幅大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像,通过一定的算法可以在图中找到目标,确定其坐标位置。 以8 位图像(其1 个像素由1 个字节描述)为例,模板T( m × n 个像素)叠放在被搜索图S( W × H 个像素)上平移,模板覆盖被搜索图的那块区域叫子图Sij。i,j为子图左上角在被搜索图S 上的坐标。搜索范围是:
1 ≤ i ≤ W – M
1 ≤ j ≤ H – N
通过比较T 和Sij 的相似性,完成模板匹配过程。衡量模板T和子图Si,j的匹配程度,可用下列两种测度,这种方法是最简单的SAD法,同时也是速度较快的一种方法:
但是SAD算法的鲁邦性较差,为了解决这个问题,同时兼顾实时性,模板匹配中的相关系数法可以很好地适应这些要求:相关系数(r)是一种数学距离,可以用来衡量两个向量的相似程度。它起源于余弦定理:cos(A)=(a2+c2-b2)/2bc.如果两个向量的夹角为0度(对应r=1),说明它们完全相似,如果夹角为90度(r=0),则它们完全不相似,如果夹角为180度(r=-1),则它们完全相反。把余弦定理写成向量的形式:
cos(A) = <b,c>/(|b|*|c|),
即:cos(A) = (b1c1+b2c2+… bncn)/sqrt[(b12+b22+…+bn2) (c12+c22+…+cn2)]
其中分子表示两个向量的内积,分母表示两个向量的模相乘。
在实际应用中,更常用的是去均值相关系数,它在上式的基础上还要在分子分母减去各个向量的均值:
模板大小的确定往往是一个经验值,紧帖目标轮廓的模板或者包含太多背景的模板都不好,前者的模板太小,它对目标的变化太敏感,会很容易丢失目标。后者正相反,目标变化的时候算法却没有反应。一般而言,目标所占模板的比例在30%~50%为佳。