一:什么是模板匹配?
在OpenCV教程中這樣解釋模板匹配:
模板匹配是一項(xiàng)在一幅圖像中尋找與另一幅模板圖像最匹配(相似)部分的技術(shù).
這里說的模板是我們已知的小圖像,模板匹配就是在一副大圖像中搜尋目標(biāo)。模板就是我們已知的在圖中要找的目標(biāo),且該目標(biāo)同模板有相同的尺寸、方向和圖像,通過一定的算法可以在圖中找到目標(biāo),確定其坐標(biāo)位置。
二:模板匹配的原理
用通俗的語言來解釋模板的匹配原理:
在要檢測(cè)的圖像上,從左到右,從上到下遍歷這一幅圖像,從上到下計(jì)算模板與重疊子圖像的像素匹配度,如果匹配的程度越大,這說明相同的可能性越大。
實(shí)現(xiàn)過程:
①:準(zhǔn)備兩幅圖像:
- 圖像 (I): 在這幅圖像里,我們希望找到一塊和模板匹配的區(qū)域
- 模板 (T): 將和原圖像比照的圖像塊
②:為了確定匹配區(qū)域, 我們滑動(dòng)模板圖像和原圖像進(jìn)行比較
③:使用模板遍歷圖像
通過滑動(dòng), 從左往右,從上往下. 在每一個(gè)位置, 都進(jìn)行一次度量計(jì)算來表明模板和原圖像的特定區(qū)域的相似性。
對(duì)于 T 覆蓋在 I 上的每個(gè)位置,你把度量值保存到結(jié)果圖像矩陣(R) 中. 在R中的每個(gè)位置 (x,y) 都包含匹配度量值:
上圖是使用標(biāo)準(zhǔn)相關(guān)匹配方法處理后的結(jié)果圖像 R . 最白的位置代表最高的匹配. 紅色橢圓框住的位置很可能是結(jié)果圖像矩陣中的最大數(shù)值, 所以這個(gè)區(qū)域被認(rèn)為是匹配的.
三:使用OpenCV實(shí)現(xiàn)
我們調(diào)用OpenCV中的函數(shù) matchTemplate 實(shí)現(xiàn)了模板匹配算法:
①:平方差匹配 method=CV_TM_SQDIFF
這類方法利用平方差來進(jìn)行匹配,最好匹配為0.匹配越差,匹配值越大.
②:標(biāo)準(zhǔn)平方差匹配 method=CV_TM_SQDIFF_NORMED
③:相關(guān)匹配 method=CV_TM_CCORR
這類方法采用模板和圖像間的乘法操作,所以較大的數(shù)表示匹配程度較高,0標(biāo)識(shí)最壞的匹配效果.
④:標(biāo)準(zhǔn)相關(guān)匹配 method=CV_TM_CCORR_NORMED
⑤:相關(guān)匹配 method=CV_TM_CCOEFF
這類方法將模版對(duì)其均值的相對(duì)值與圖像對(duì)其均值的相關(guān)值進(jìn)行匹配,1表示完美匹配,-1表示匹配很差,0表示沒有任何相關(guān)性(隨機(jī)序列).
在這里
⑥:標(biāo)準(zhǔn)相關(guān)匹配 method=CV_TM_CCOEFF_NORMED
代碼實(shí)現(xiàn):
在這次匹配中我們主要使用了matchTemplate和minMaxLoc這兩個(gè)函數(shù):
matchTemplate:函數(shù)的完整表達(dá):
matchTemplate(image, templ, method[, result[, mask]])
Image:參數(shù)表示待搜索源圖像,必須是8位整數(shù)或32位浮點(diǎn)。
Templ:參數(shù)表示模板圖像,必須不大于源圖像并具有相同的數(shù)據(jù)類型。
Method:參數(shù)表示計(jì)算匹配程度的方法。
Result:參數(shù)表示匹配結(jié)果圖像,必須是單通道32位浮點(diǎn)。如果image的尺寸為W x H,templ的尺寸為w x h,則result的尺寸為(W-w+1)x(H-h+1)。
minMaxLoc函數(shù)的完整表達(dá):
minMaxLoc(src[, mask],minVal, maxVal, minLoc, maxLoc)
src參數(shù)表示輸入單通道圖像。
mask參數(shù)表示用于選擇子數(shù)組的可選掩碼。
minVal參數(shù)表示返回的最小值,如果不需要,則使用NULL。
maxVal參數(shù)表示返回的最大值,如果不需要,則使用NULL。
minLoc參數(shù)表示返回的最小位置的指針(在2D情況下); 如果不需要,則使用NULL。
maxLoc參數(shù)表示返回的最大位置的指針(在2D情況下); 如果不需要,則使用NULL。
-
圖像處理
+關(guān)注
關(guān)注
27文章
1275瀏覽量
56576 -
算法
+關(guān)注
關(guān)注
23文章
4587瀏覽量
92500 -
OpenCV
+關(guān)注
關(guān)注
29文章
624瀏覽量
41214 -
模板匹配
+關(guān)注
關(guān)注
0文章
12瀏覽量
7819
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論