메뉴 건너뛰기

OBG

Programming

Python
2014.01.16 00:49

OpenCV 이용한 템플릿 매칭

MoA
조회 수 1250 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

템플릿 매칭(Template Matching) = 큰 이미지에서 특정 작은 이미지를 찾는 알고리즘


import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('messi5.jpg',0)
img2 = img.copy()
template = cv2.imread('template.jpg',0)
w, h = template.shape[::-1]

# All the 6 methods for comparison in a list
methods = ['cv2.TM_CCOEFF', 'cv2.TM_CCOEFF_NORMED', 'cv2.TM_CCORR',
            'cv2.TM_CCORR_NORMED', 'cv2.TM_SQDIFF', 'cv2.TM_SQDIFF_NORMED']

for meth in methods:
    img = img2.copy()
    method = eval(meth)

    # Apply template Matching
    res = cv2.matchTemplate(img,template,method)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)

    # If the method is TM_SQDIFF or TM_SQDIFF_NORMED, take minimum
    if method in [cv2.TM_SQDIFF, cv2.TM_SQDIFF_NORMED]:
        top_left = min_loc
    else:
        top_left = max_loc
    bottom_right = (top_left[0] + w, top_left[1] + h)

    cv2.rectangle(img,top_left, bottom_right, 255, 2)

    plt.subplot(121),plt.imshow(res,cmap = 'gray')
    plt.title('Matching Result'), plt.xticks([]), plt.yticks([])
    plt.subplot(122),plt.imshow(img,cmap = 'gray')
    plt.title('Detected Point'), plt.xticks([]), plt.yticks([])
    plt.suptitle(meth)

    plt.show()

https://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/py_template_matching/py_template_matching.html

?

  1. Programming 게시판 관련

  2. CreateThread와 AfxBeginThread의 차이

  3. [농장게임 만들기] 1. Nubcake Farms 게임 소개

  4. [OpenCV] 얼굴 인식 예제

  5. MFC 클래스 멤버함수 설명서

  6. [게임 만들기] 강좌 진행 예정

  7. unsigned char <-> 유니코드(unicode) 및, string 변환 매크로 - USES_CONVERSION

  8. 워게임 사이트 정리

  9. MFC기반의 CSocket 사용 방법과 예제

  10. CFile을 이용한 저장/불러오기

  11. OpenCV 이용한 템플릿 매칭

  12. CDockablePane 버튼 비활성화 문제

  13. 리스트 컨트롤에 체크박스 추가

  14. Machine Learning for Video Games

  15. MFC 클래스간 통신

  16. Thread에서 Dialog의 UpdateData()사용하는 방법

  17. CPaneDialog 초기화 (OnInitDialog)

  18. 다이얼로그 resize 시 child control의 그래픽 깨짐 해결

  19. 컨텍스트 스위칭 (Context Switching)

  20. [첫게임 만들기] 7. 게임 정보 표시

  21. [첫게임 만들기] 3. Bunny를 회전시키자

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15
위로