pyautogui 라이브러리 사용중 pyautogui.locateOnScreen이 정상동작하지 않을 경우에 대처하는 방법

pyautogui 라이브러리 사용중 pyautogui.locateOnScreen이 정상동작하지 않을 경우에 대처하는 방법.

윈도우 사용자라면 이와 같은 경험은 없을것으로 본다.
하지만 맥 사용자가 화면을 캡쳐해서 사용하려다 보면, 같은 이미지인데 찾을수 없는 현상이 생기곤 한다.

아래 테스트1, 테스트2와 같은 경우이다.
하루 정도 고민을 하며, 집에 돌아오자마자 해보면서 원인을 찾았다.

import pyautogui

# 테스트 1
num7 = pyautogui.locateOnScreen('test.png')
print(num7)

# 결과는 None

# 테스트 2

# 신뢰도를 좀 낮춰야 판단이 가능하다. 이유는? 캡쳐시 사이즈 변경??
img = pyautogui.locateOnScreen('./7.png', confidence=0.8, grayscale = True)
print(img)

나와 같은 고민을 한 맥 유저가 있으신가??
그렇다면 아래와 같은 명령어로 이미지를 캡처한다음에 실행 시켜보도록 하자.
정상으로 이미지를 찾아내는 마법을 볼것이다.

image = pyautogui.screenshot()
image.save('test.png')

원인은 무엇일까?
이미지 사이즈를 비교해보진 않았으나, 맥은 @2x 와 같은 이미지 프로세싱 기술을 사용할것으로 보인다.

귀찮아서 검증은 생략한다.

도움이 되었길.

“pyautogui 라이브러리 사용중 pyautogui.locateOnScreen이 정상동작하지 않을 경우에 대처하는 방법”에 대한 2개의 생각

  1. 안녕하세요! 해당 에러와 똑같은 현상을 겪는 맥 유저입니다. 저는 소개해주신 테스트 1,2번 둘 다 해보았는데 자꾸 이미지 인식을 하지 못하고 마우스 커서가 사이드바로 옮겨집니다.. 해결책이 그럼 어떻게 해야 하는 건가요? 글 마지막에 말씀하신 요지가 맥에서 캡쳐를 했을 때의 이미지 사이즈랑 pyautogui가 스크린샷을 찍는 이미지 사이즈랑 크기가 달라서 인식을 잘 못한다는 말씀이신 건가요?

    그렇다면 크기를 맞춰주기 위해서는 어떻게 해야 하나요? 답변 부탁드립니다 ㅜㅜ

답글 남기기