-
템플릿 매칭컴퓨터 비젼(Computer Vision)/영상 분할과 객체 검출 2022. 2. 17. 15:14
템플릿 매칭(Template Matching)
- 입력 영상에서 (작은 크기의) 템플릿 영상과 일치하는 부분을 찾는 기법
- 템플릿: 찾을 대상이 되는 작은 영상, 패치 또는 커널이라고도 불림
템플릿 매칭 함수
cv2.matchTemplate(image, templ, method, result=None, mask=None) -> result
- image: 입력 영상. 8비트 또는 32비트.
- templ: 템플릿 영상. image 보다 같거나 작은 크기이며 같은 타입으로 지정
- method: 비교 방법. cv2._TM_으로 시작하는 플래그 지정.
- result: 비교 결과 행렬. np.ndarray, dtype=np.float32
이미지 크기가 W*H, templ의 크기가 w*h 이면, result의 크기는 (W-w+1)*(H-h+1) 이 된다.
method mode 비교
- cv.TM_SQDIFF: 완전 같으면 0, 다를 수록 커짐
- cv.TM_CCORR: 같으면 큰 값, 작으면 다른 값
- cv.TM_CCOEFF: 같으면 큰 값, 작으면 다른 값, 평균 보정 후 correlation 연산 수행
- 밝기 보정을 수행하기에 수식은 복잡해지나 가장 자주 쓰이는 방법
- _NORMED: 정규화된 값
- cv.TMSQDIFF_NORMED, cv.TM_CCORR_NORMED: [0,1],
- cv.TM_CCOEFF_NORMED: [-1, 1], 0인 경우는 상호 연관성이 없음을 의미
결론
밝기 변화(CCOREC을 써서), 노이즈에 강한 편
같은 위치에 있는 픽셀끼리 곱하는 연산을 수행하기에 회전, 크기 변화에 약함
참고
https://docs.opencv.org/3.4/d4/dc6/tutorial_py_template_matching.html
'컴퓨터 비젼(Computer Vision) > 영상 분할과 객체 검출' 카테고리의 다른 글
HOG 보행자 검출 (0) 2022.02.17 캐스케이드 분류기 (0) 2022.02.17 모벤트 기반 객체 검출 (0) 2022.02.16 영상 분할과 객체 검출 (0) 2022.02.16