模板匹配(OpenCV Python)

2021-10-07 15:27:35 字數 1566 閱讀 5818

模板匹配:模板匹配是一種最原始、最基本的模式識別方法,研究某一特定物件物的圖案位於影象的什麼地方,進而識別物件物,這就是乙個匹配問題。它是影象處理中最基本、最常用的匹配方法。模板匹配具有自身的侷限性,主要表現在它只能進行平行移動,若原影象中的匹配目標發生旋轉或大小變化,該演算法無效。

工作方法:在待測的影象上,從左到右、從上到下計算模板影象與重疊子影象匹配度

)#模板影象

target = cv.imread(r"‪c:\pics\samples\data\lena-1.png"

)#原影象

cv.imshow(

"template image"

, tpl)

cv.imshow(

"target image"

, target)

methods =

[cv.tm_sqdiff_normed, cv.tm_ccorr_normed, cv.tm_ccoeff_normed]

#標準平方差匹配 ,標準相關匹配,標準相關係數匹配

th, tw = tpl.shape[:2

]#模板的高寬

for md in methods:

# print(md)

result = cv.matchtemplate(target, tpl, md)

#畫素點的相關度量值

min_val, max_val, min_loc, max_loc = cv.minmaxloc(result)

#尋找匹配最值(大小和位置)

if md == cv.tm_sqdiff_normed:

tl = min_loc

else

: tl = max_loc

br =

(tl[0]

+tw, tl[1]

+th)

;#確定匹配區域

cv.rectangle(target, tl, br,(0

,0,255),

2)#將匹配區域繪製到原圖上

cv.imshow(

"match-"

+np.

str(md)

, target)

# cv.imshow("match-" + np.str(md), result)

src = cv.imread(r"‪c:\pics\samples\data\lena-1.png"

)cv.namedwindow(

"input image"

, cv.window_autosize)

cv.imshow(

"input image"

, src)

template_demo(

)cv.waitkey(0)

cv.destroyallwindows(

)

人臉檢測原理及示例 OpenCV Python

opencv是intel開源計算機視覺庫 computerversion 它由一系列c函式和少量 c 類構成,實現了影象處理和計算機視覺方面的很多通用演算法。opencv 擁有包括 300 多個c函式的跨平台的中 高層 api。它不依賴於其它的外部庫 儘管也可以使用某些外部庫。opencv 對非商業...

OpenCV模板匹配

include include opencv2 opencv.hpp using namespace std using namespace cv int main int argc,char argv load reference image img imread argv 1 always ch...

opencv模板匹配

模板匹配是一種用於在源影象s中尋找定位給定目標影象t 即模板影象 的技術。其原理很簡單,就是通過一些相似度準則來衡量兩個影象塊之間的相似度similarity s,t 2.用途 模板匹配方法常用於一些平面影象處理中,例如印刷中的數字 工業零器件等小尺寸目標影象識別分類。3.方法 模板匹配中,源影象和...