模板匹配是指在當前影象a內尋找與影象b最相似的部分,可以理解找茬,但是這裡是找出一樣的資訊。
一般我們將影象a稱為輸入影象,將影象b稱為模板影象。模板匹配的原理就是將模板b影象在影象a上滑動遍歷,找出與其匹配的部分。
在opencv中,它給我們提供了cv2.matchtemplate()函式來完成模板匹配。其函式的完整定義如下:
def matchtemplate(image, 程式設計客棧templ, method, result=none, mask=none):
image:原始影象
templ:模板影象
method:匹配方法。該引數通過templatematchmodes實現,如下表所示:
引數 取值
含義cv2.tm_sqdiff
0以方差為依據進行匹配。若完全匹配,則結果為0;若不匹配,則會得到乙個很大的差值
cv2.tm_sqdiff_normed
1標準(歸一化)平方差匹配
cv2.tm_ccorr
2相關匹配,這類方法將模板影象與輸入影象相乘,如果乘積越大,則匹配度較高;如果乘積為0,則表示匹配效果最差
cv2.tm_ccorr_normed
3標準(歸一化)相關匹配
cv2.tm_ccoeff
4相關系統匹配,這類方法將模板影象與其均值的相對值,和輸入影象與其均值的相關值進行匹配。1表示完美匹配,-1表示糟糕的匹配,0表示沒有任何相關匹配(隨機序列)
cv2.tm_ccoeff_normed
5程式設計客棧 標準(歸一化)相關係數匹配
result:返回值。它是由每個位置的比較結果組合所構成的乙個結果集,型別是單通道32位浮點型。如果輸入影象尺寸是wh,模板尺寸是wh,則返回值的大小為(w-w+1)*(h-h+1)。
mask:模板影象掩模。它必須與模板影象具有相同型別的大小。通常使用預設值即可。
首先,我們需要兩張,這裡我們還是選取經常用的美女**以及擷取其眼睛部分作為模板影象,如下:
執行之後,效果如下:
附錄:模板圖
原圖
OpenCV python 模板匹配
1,模板匹配的概念及原理 模板匹配是一項在一幅影象中尋找與另一幅模板影象最匹配 相似 部分的技術.我們需要2幅影象 模板 t 將和原影象比照的影象塊 原影象 i 在這幅影象裡,我們希望找到一塊和模板匹配的區域 我們的目標是檢測最匹配的區域 為了確定匹配區域,我們不得不滑動模板影象和原影象進行比較 通...
模板匹配(OpenCV Python)
模板匹配 模板匹配是一種最原始 最基本的模式識別方法,研究某一特定物件物的圖案位於影象的什麼地方,進而識別物件物,這就是乙個匹配問題。它是影象處理中最基本 最常用的匹配方法。模板匹配具有自身的侷限性,主要表現在它只能進行平行移動,若原影象中的匹配目標發生旋轉或大小變化,該演算法無效。工作方法 在待測...
OpenCV Python 核心操作 模板匹配
在opencv裡,模板匹配和卷積原理很像,模板在原影象上從原點開始滑動,計算模板與 影象被模板覆蓋的地方 的差別程度,這個差別程度的計算方法在opencv裡有 6種,然後將每次計算的結果放入乙個矩陣裡,作為結果輸出。假如原圖形是 axb大小,而模板是 axb大小,則輸出結果的矩陣是 a a 1 x ...