OpenCV Python模板匹配人眼的例項

2022-09-25 16:06:09 字數 1649 閱讀 2059

模板匹配是指在當前影象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 ...