메뉴 건너뛰기

OBG

Programming

Python
2014.01.16 00:49

OpenCV 이용한 템플릿 매칭

MoA
조회 수 1253 추천 수 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. Simple Add-On Wait Dialog in MFC

  3. Serial Communication in MFC

  4. SciPy and NumPy

  5. RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED ...

  6. Reinforcement Learning for Dynamic Pricing Suggestion

  7. Redmine 설치

  8. Real-Time Stock News Sentiment Prediction with Python

  9. RAND_MAX

  10. R language 사이트

  11. Quake 3 source code and review

  12. PyTorch 딥러닝 챗봇

  13. pthread

  14. Property Sheet의 버튼 속성 변경하기

  15. printf Type Field Characters

  16. PM2를 활용한 Node.js 무중단 서비스하기

  17. Play Super Mario Bros with a Double Deep Q-Network

  18. PHP: 잘못된 디자인의 프랙탈

  19. PEFT: Parameter-Efficient Fine-Tuning of Billion-Scale Models on Low-Resource Hardware

  20. PackageBroadcastReceiver 구현

  21. OpenCV 이용한 템플릿 매칭

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