[파이썬] pyautogui 스크린샷 및 이미지 인식

소개

PyAutoGUI는 파이썬으로 구현된 GUI 자동화 라이브러리입니다. 이 라이브러리를 사용하면 스크린샷을 캡처하고 이미지를 인식하여 원하는 작업을 자동으로 수행할 수 있습니다. 이 글에서는 PyAutoGUI를 사용하여 스크린샷을 캡처하고 이미지를 인식하는 방법을 살펴보겠습니다.

스크린샷 캡처

PyAutoGUI를 사용하여 스크린샷을 캡처하는 것은 간단합니다. 아래의 코드를 실행하면 현재 화면의 스크린샷을 캡처하고 지정한 경로에 저장합니다.

import pyautogui

# 스크린샷 캡처
screenshot = pyautogui.screenshot()
screenshot.save('screenshot.png')

이미지 인식

PyAutoGUI를 사용하여 이미지를 인식하는 것도 매우 간단합니다. 아래의 코드를 실행하면 지정한 이미지를 현재 화면에서 찾고 해당 위치를 반환합니다.

import pyautogui

# 이미지 인식
image_location = pyautogui.locateOnScreen('image.png')  # 이미지 파일 경로 입력
if image_location:
    print("이미지를 찾았습니다!")
    print("이미지 위치:", image_location)
else:
    print("이미지를 찾을 수 없습니다.")

위의 코드에서 locateOnScreen 함수는 입력으로 받은 이미지 파일을 찾아서 해당 이미지의 위치를 반환합니다. 이미지를 찾지 못한 경우 None을 반환합니다.

정확성 향상을 위한 추가 설정

PyAutoGUI를 사용하여 스크린샷 및 이미지 인식을 할 때 몇 가지 추가 설정을 통해 정확성을 향상시킬 수 있습니다.

스크린샷 영역 설정

pyautogui.screenshot() 함수를 호출할 때 스크린샷을 캡처할 영역을 지정할 수 있습니다. 이미지 인식을 수행할 특정 영역이 있는 경우 해당 영역을 지정하여 스크린샷을 캡처할 수 있습니다.

import pyautogui

# 특정 영역 스크린샷 캡처
left, top, width, height = 100, 100, 200, 200
screenshot = pyautogui.screenshot(region=(left, top, width, height))
screenshot.save('screenshot.png')

위의 코드에서 region 매개변수를 사용하여 스크린샷을 캡처할 영역을 지정합니다.

이미지 인식 정확도 설정

pyautogui.locateOnScreen() 함수를 호출할 때 정확도를 조절할 수 있는 매개변수를 추가할 수 있습니다. 예를 들어, 아래의 코드에서 confidence 매개변수를 사용하여 이미지 인식의 정확도를 설정합니다. 0.9는 90%의 정확도를 의미합니다.

import pyautogui

# 이미지 인식 (정확도 설정)
image_location = pyautogui.locateOnScreen('image.png', confidence=0.9)

정확도를 높일수록 이미지 인식의 성능이 향상되지만, 실행 시간이 더 오래 걸릴 수도 있습니다. 따라서 정확도를 조절하는 것은 상황에 따라 적절히 결정해야 합니다.

결론

PyAutoGUI를 사용하여 스크린샷 캡처 및 이미지 인식을 수행할 수 있습니다. 이를 활용하면 파이썬으로 자동화 작업을 수행하는데 유용한 도구를 사용할 수 있습니다. 위의 예제 코드를 참고하여 원하는 작업을 자동화해보세요!