입력 영상에서 (작은 크기의) 템플릿 영상과 일치하는 부분을 찾는 기법입니다.
템플릿: 찾을 대상이 되는 작은 영상. 패치(patch)입니다.
cv2.matchTemplate(image, templ, method, result=None, mask=None) -> result
• image: 입력 영상. 8비트 또는 32비트.
• templ: 템플릿 영상. image보다 같거나 작은 크기, 같은 타입
• method: 비교 방법. cv2.TM_으로 시작하는 플래그 지정
src = cv2.imread('circuit.bmp', cv2.IMREAD_GRAYSCALE)
templ = cv2.imread('crystal.bmp', cv2.IMREAD_GRAYSCALE)
noise = np.zeros(src.shape, np.int32)
cv2.randn(noise, 50, 10)
src = cv2.add(src, noise, dtype=cv2.CV_8UC3)
res = cv2.matchTemplate(src, templ, cv2.TM_CCOEFF_NORMED)
res_norm = cv2.normalize(res, None, 0, 255, cv2.NORM_MINMAX, cv2.CV_8U)
_, maxv, _, maxloc = cv2.minMaxLoc(res)
th, tw = templ.shape[:2]
dst = cv2.cvtColor(src, cv2.COLOR_GRAY2BGR)
cv2.rectangle(dst, maxloc, (maxloc[0] + tw, maxloc[1] + th), (0, 0, 255), 2)