[Python] PyAutoGUI로 이미지 다루기

PyAutoGUI를 이용해 간단하게 스크린샷을 찍고, 이미지로 저장할 수 있습니다.

또한 이미지를 추적하여 다양한 행동을 추가할 수 있습니다.

하나씩 하나씩 진행해 보겠습니다.

 

pyautogui.screenshot()

import pyautogui

im1 = pyautogui.screenshot()
#screenshot() 을 호출하면 화면 이미지 객체 (im1)를 반환합니다.

im2 = pyautogui.screenshot('screenshot.png')
#파일 이름 (‘screenshot.png’)을 입력해주면 화면을 이미지파일로 저장합니다.

im3 = pyautogui.screenshot('region.png', region=(0, 0, 300, 300))
#region 위처럼 영역을 설정해주면 x=0, y=0에서 x=300, y=300 위치까지의 사각형 영역을 이미지 파일로 저장합니다.

우선 이미지 캡처 먼저 한 후

 

pyautogui.locateOnScreen()

import pyautogui

pregion = pyautogui.locateOnScreen('region.png')
#위에서 찍은 region파일을 찾아 위치를 "pregion"변수에 넣어 볼겁니다.
print(pregion)
#화면 상에서 일치하는 영역을 찾아서 왼쪽 위의 위치와 영역의
#가로, 세로 크기를 튜플의 형태((left, top, width, height))로 출력합니다.
#결과값
Box(left=0, top=0, width=300, height=300)

만약 화면에서 region.png와 같은 영역을 찾지 못한다면 결과값에 NONE을 반환합니다.

 

현재 결과값은 위치와 사이즈를 나타내는데,

이것을 클릭 위해 이 영역의 중앙 위치를 알아내는 함수 또한 있습니다.

pyautogui.center()

import pyautogui

pregion = pyautogui.locateOnScreen('region.png')
center = pyautogui.center(pregion)
print(center)
#결과값
Point(x=150, y=150)

화면에서 결과값을 찾았고, locateOnScreen 함수로 위치와 사이즈를 찾았고,

center 함수로 포인트 위치도 잡았습니다.

 

그렇다면 이제 마지막줄에 pyautogui.click(center)를 입력해주면

맨 처음 화면의 왼쪽 상단 0,0-300,300 만큼 잘린것의 중앙

150,150 구간을 클릭하게 되는것입니다.

 

PyAutoGUI로 이미지 다루기는 여기서 마칩니다.