模板匹配算法(有案例)

时间:2024-03-31 10:05:27

导航栏

  • 1. 模板匹配算法
    • 1.1 差的平方和
    • 1.2 归一化的平方和
    • 1.3 互相关
    • 1.4 归一化互相关
    • 1.5 相关系数互相关
    • 1.6 归一化相关系数互相关
  • 2. 归一化差的平方和(实战)

1. 模板匹配算法

1.1 差的平方和

R ( x , y ) = ∑ x ′ , y ′ ( T ( x ′ , y ′ ) − I ( x + x ′ , y + y ′ ) ) 2 R(x,y) = \sum_{x',y'}(T(x',y') - I(x + x',y + y'))^2 R(x,y)=x,y(T(x,y)I(x+x,y+y))2
T为模板图像,I为匹配图像;在匹配图像的**(x,y)位置,向右x’,向下y’** 框定识别区域。通过计算模板与图像区域的平方差来进行匹配,最好的匹配值为0,匹配越差,匹配值越大。

1.2 归一化的平方和

R ( x , y ) = ∑ x ′ , y ′ ( T ( x ′ , y ′ ) − I ( x + x ′ , y + y ′ ) ) 2 ∑ x ′ , y ′ T ( x ′ , y ′ ) 2 ⋅ ∑ x ′ , y ′ I ( x + x ′ , y + y ′ ) 2 R(x,y) = \frac{\sum_{x',y'}(T(x',y') - I(x + x',y + y'))^2}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'}I(x + x',y + y')^2}} R(x,y)=x,yT(x,y)2x,yI(x+x,y+y)2 x,y(T(x,y)I(x+x,y+y))2
其中,**R(x,y)表示原始图像中以(x,y)**为中心的区域与模板的归一化平方差匹配程度。分母部分是对原始图像区域和模板图像的像素值进行归一化处理,使得匹配结果不受图像亮度和对比度的影响。

这种方法通过计算归一化的平方差来衡量原始图像与模板图像的相似性。最佳匹配结果为0,表示两个图像完全匹配。匹配越差,匹配值越大,但最大不会超过1。

1.3 互相关

R ( x , y ) = ∑ x ′ , y ′ ( T ( x ′ , y ′ ) ⋅ I ( x + x ′ , y + y ′ ) ) R(x,y) = \sum_{x',y'}(T(x',y') \cdot I(x + x',y + y')) R(x,y)=x,y(T(x,y)I(x+x,y+y))
其中,**R(x,y)表示原始图像中以(x,y)为中心的区域与模板的相关性。x'y'遍历模板图像的所有像素坐标。T(x',y')表示模板图像在(x',y')位置的像素值,I(x+x',y+y')表示原始图像在(x+x',y+y')**位置的像素值。

这种方法通过计算模板和图像区域的内积来衡量它们的相似性。较大的值表示较好的匹配,而较小的值表示较差的匹配。最佳匹配位置在值最大的地方。

1.4 归一化互相关

R ( x , y ) = ∑ x ′ , y ′ ( T ( x ′ , y ′ ) ⋅ I ( x + x ′ , y + y ′ ) ) ∑ x ′ , y ′ T ( x ′ , y ′ ) 2 ⋅ ∑ x ′ , y ′ I ( x + x ′ , y + y ′ ) 2 R(x,y) = \frac{\sum_{x',y'}(T(x',y') \cdot I(x + x',y + y'))}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'}I(x + x',y + y')^2}} R(x,y)=x,yT(x,y)2x,yI(x+x,y+y)2 x,y(T(x,y)I(x+x,y+y))
其中,**R(x,y)表示原始图像中以(x,y)**为中心的区域与模板的归一化相关性。分母部分对模板图像和原始图像区域的像素值进行归一化处理。

这种方法通过计算归一化的相关性来衡量模板和图像的相似性。最佳匹配结果为1,表示两个图像完全匹配。匹配越差,匹配值越小,但不会小于-1。

1.5 相关系数互相关

R ( x , y ) = ∑ x ′ , y ′ ( T ′ ( x ′ , y ′ ) ⋅ I ′ ( x + x ′ , y + y ′ ) ) R(x,y) = \sum_{x',y'}(T'(x',y') \cdot I'(x + x',y + y')) R(x,y)=x,y(T(x,y)I(x+x,y+y))
其中
T ′ ( x ′ , y ′ ) = T ( x ′ , y ′ ) − 1 w ⋅ h ⋅ ∑ x ′ ′ , y ′ ′ T ( x + x ′ ′ , y + y ′ ′ ) I ′ ( x + x ′ , y + y ′ ) = I (