본문으로 바로가기
728x90

필요한 패키지 설치

 

캡처하는데 필요한 pyautogui 를 설치합니다.

pyautogui 는 키보드, 마우스 이벤트 조작등 다양한 기능을 제공합니다.

pip install pyautogui

 

 

예제

 

전체 코드입니다.

import os
import cv2
import numpy as np
import pyautogui

tpl = cv2.imread(os.path.join('img', 'dino.png'), cv2.IMREAD_GRAYSCALE)
th, tw = tpl.shape[:2]

cv2.namedWindow('result');
while True:
    screen = pyautogui.screenshot(region=(1800, 50, 500, 500))
    src = np.array(screen)
    src = cv2.cvtColor(src, cv2.COLOR_RGB2GRAY)

    res = cv2.matchTemplate(src, tpl, cv2.TM_CCOEFF_NORMED)
    _, _, _, maxloc = cv2.minMaxLoc(res)

    dst = cv2.cvtColor(src, cv2.COLOR_GRAY2BGR)
    cv2.rectangle(dst, maxloc, (maxloc[0] + tw, maxloc[1] + th), (0, 255, 0), 3)

    cv2.imshow('result', dst)

    if cv2.waitKey(1) == 27:
        break

cv2.destroyAllWindows()

 

지난 포스팅과 비교하면 반복해서 캡처한다는 차이밖에 없습니다.

 

pyautogui.screenshot() 의 결과로 나온 이미지를 변환하여 소스 이미지로 사용합니다.

region 은 캡처할 영역 x, y, w, h 입니다.

while True:
    screen = pyautogui.screenshot(region=(1800, 50, 500, 500))
    src = np.array(screen)
    src = cv2.cvtColor(src, cv2.COLOR_RGB2GRAY)
    
    res = cv2.matchTemplate(src, tpl, cv2.TM_CCOEFF_NORMED)