溫馨提示×

OpenCV中怎么應(yīng)用模板匹配技術(shù)

小億
85
2024-05-22 16:23:13
欄目: 編程語言

在OpenCV中,可以使用cv2.matchTemplate()函數(shù)來應(yīng)用模板匹配技術(shù)。以下是一個簡單的示例代碼,演示如何在一張圖片中尋找另一張模板圖片的位置:

import cv2
import numpy as np

# 讀取圖像和模板圖片
img = cv2.imread('image.jpg')
template = cv2.imread('template.jpg')

# 獲取模板圖片的寬度和高度
w, h = template.shape[:-1]

# 應(yīng)用模板匹配技術(shù)
res = cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)

# 獲取匹配結(jié)果中的最大值和坐標
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)

# 在原圖上繪制矩形框標記出模板匹配的位置
top_left = max_loc
bottom_right = (top_left[0] + w, top_left[1] + h)
cv2.rectangle(img, top_left, bottom_right, (0, 255, 0), 2)

# 顯示結(jié)果圖像
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上面的代碼中,首先讀取了原圖和模板圖片,然后使用cv2.matchTemplate()函數(shù)對原圖進行模板匹配。最后在原圖上繪制出匹配位置的矩形框并顯示結(jié)果圖像。通過調(diào)整模板匹配方法(比如cv2.TM_CCOEFF_NORMED)和閾值等參數(shù),可以得到不同的匹配結(jié)果。

0