이미지 인식 관련 pyautogui를 애용한다면 아마 나처럼 당황했을거라 생각되기에 왜 그런지 찾아봤습니다.
잘 쓰다가 왜 갑자기 에러? ImageNotFoundException
노트북 다시 세팅 후 잘 돌아가던 프로그램이 ImageNotFoundException 에러를 뱉어내며 맛이 갔습니다. 이것저것 찾아 보던 찰나 역시 공식문서에서 답을 찾을 수 있었습니다.
ImageNotFoundException 이유
공식문서를 찾아보면 다음에 나와 있습니다.
참고: 버전 0.9.41부터 locate 함수가 제공된 이미지를 찾을 수 없는 경우 None을 반환하는 대신 ImageNotFoundException을 발생시킵니다.
그랫던 것이었습니다. 파이썬 및 vscode를 다시 세팅하면서 라이브러리 업데이트 후 신규 버전을 받아서 None을 반환하지 않고 ImageNotFoundException 에러를 발생했던 것입니다.
새로 설치한 버전을 확인해보니..
역시나 버전이 높습니다. none으로 코딩했던 부분들을 모두 수정해줘야겠습니다.
변경된 후 장점
예전 이미지 서치 후 없을 경우 none으로 리턴했을 때는 시간이 길었습니다. 그 시간을 줄일 수 있는 방법을 찾지 못해 기다려야만 했습니다.
현재 에러를 리턴하면서부터 시간이 비약적으로 짧아진걸 확인했습니다. try catch를 사용하여 에러만 잡아준다면 프로그램 실행시간이 비약적으로 짧아질 것으로 예상됩니다.