Python OpenCV之模板匹配

2021-09-24 23:06:41 字數 2338 閱讀 7222

模板匹配:模板匹配和卷積原理很像,模板在原影象上從原點開始滑動,計算模板與當前圖形被模板覆蓋的地方的差別程度,然後將每次計算的結果放入乙個矩陣,作為結果輸出。假如原圖形是a*b大小,而模板是a*b大小,則輸出結果的矩陣是(a-a+1)*(b-b+1)

用於搜尋的輸入影象

template

用於匹配的模板

method

用於比較的方法,可選以下六種

返回值為乙個二維陣列,是原影象各區域與模板的匹配值

cv.minmaxloc(res)
返回cv.matchtemplate函式返回值中的最大值,最小值,最大值對應區域左上角座標,最小值對應區域左上角座標
注:res為cv.matchtemplate函式的返回值

cv.rectangle(img2, top_left, bottom_right, 255, 2)
關於該函式的具體資訊可參考python-opencv之輪廓的查詢,繪製,特徵,近似,外接矩形中關於外接矩形的內容。

# 匹配方法在methods陣列中的的序號

method = eval(meth)

res = cv.matchtemplate(img, template, method)

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

# 如果是平方差匹配tm_sqdiff或歸一化平方差匹配tm_sqdiff_normed,取最小值

if method in [cv.tm_sqdiff, cv.tm_sqdiff_normed]:

top_left = min_loc

else:

top_left = max_loc

bottom_right = (top_left[0] + w, top_left[1] + h)

# 畫矩形

cv.rectangle(img2, top_left, bottom_right, 255, 2)

# 顯示出來

python opencv 模板匹配

在本章中,您將學習 使用模板匹配在影象中查詢物件 你將看到以下功能 cv.matchtemplate cv.minmaxloc 如果輸入影象的大小為 wxh 而模板影象的大小為 wxh 則輸出影象的大小將為 w w 1,h h 1 得到結果後,可以使用 cv.minmaxloc 函式查詢最大 最小值...

Python OpenCV學習(7) 模板匹配

利用python學習opencv,個人感覺比較方便。函式的形式與c 基本相同,所以切換過來還是比較好的,對於像我這種對python不太熟練的人,使用python的整合開發環境pycharm進行學習,可以設定斷點除錯,有助於我這類初學者理解掌握。下面是利用python語言結合opencv的模板匹配 6...

python OpenCV之numpy陣列操作

1.的表示與儲存 以矩陣的形式存在電腦裡,需要用到陣列操作來完成對影象的處理。np.ones size 可以建立任意維度的陣列,各個元素值均為1 23 np.zeros size,dtype 同上,但各個元素值為0.預設元素型別為浮點數使用示例 img np.zeros 256 256,3 np.u...