1. 什麼是模板匹配?
模板匹配是一種用於在源圖像S中尋找定位給定目標圖像T(即模板圖像)的技術。其原理很簡單,就是通過一些相似度准則來衡量兩個圖像塊之間的相似度Similarity(S,T)。
2. 用途
模板匹配方法常用於一些平面圖像處理中,例如印刷中的數字、工業零器件等小尺寸目標圖像識別分類。
3. 方法
模板匹配中,源圖像和模板圖像可以是二值圖像、灰度圖像、彩色圖像。
一般而言,模板匹配有兩種使用場景:
1)如果源圖像S與模板圖像T大小(高和寬)一致,則直接使用相似度計算公式對這兩個圖像進行相似度計算。
2)如果源圖像S的size大於模板圖像T,則在S中匹配T時,需要滑動匹配窗口(即模板圖像的大小),計算模板圖像與該窗口對應的圖像區域之間的相似度。對整張S圖像滑動完後,得到多個匹配結果。這裡,有兩種方式獲取匹配結果。一種是返回所有匹配結果中的最佳匹配結果(最小值或最大值,依相似度計算方式而定)。另一種,是設定一個阈值,大於或小於該阈值的匹配結果都認為是有效的匹配。
例如,如圖1所示,想要在大圖中定位到小圖(小狗的頭部),使用模板匹配時的滑動過程如圖2所示:
圖1
(來源:http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching)
圖2
(來源:http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching)
滑動完整張大圖後,得到一張包含所有匹配結果的圖,如圖3所示。圖3中的一個像素位置代表了一次模板匹配的結果。
圖3
(來源:http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching)