from palette import colorful_colors

[Computer Vision] opencv를 이용해 templete matching 구현하기 본문

AI/Computer Vision

[Computer Vision] opencv를 이용해 templete matching 구현하기

colorful-palette 2023. 5. 6. 00:20

correlation을 이용해 템플릿매칭을 하는 python code입니다.

import numpy as np
import cv2

# 소스, 템플릿 이미지 가져오기
img_path = "picture4.jpg"
templete_path = "./templete2/heart2.png"

img = cv2.imread(img_path,0)
template = cv2.imread(templete_path,0)

# correlation을 이용해 결과 찾기
cor_result = cv2.matchTemplate(img, template, cv2.TM_CCORR_NORMED)

# 위치 찾기
min_value, max_value, min_location, max_location = cv2.minMaxLoc(cor_result)

# 직사각형 그리기
h, w = template.shape
top_left = max_location
bottom_right = (top_left[0] + w, top_left[1] + h)
cv2.rectangle(img, top_left, bottom_right, (0, 0, 255), 4)
cv2.rectangle(cor_result, top_left, bottom_right, (0, 0, 255), 4)

# 출력하기
cv2.imshow("source", cv2.cvtColor(img, cv2.COLOR_GRAY2BGR))
cv2.imshow("templete", template)
cv2.imshow("result", cor_result)
cv2.waitKey(0)
cv2.destroyAllWindows()

 
예시: