• 카테고리

    질문 & 답변
  • 세부 분야

    업무 자동화

  • 해결 여부

    해결됨

pyautogui.center(pyautogui.locateOnScreen('wmp.PNG', grayscale=True, confidence=0.7)) 좌표 이상

23.12.29 23:54 작성 조회수 169

0

안녕하세요! 강의를 듣고 필요에 의해 윈도우 미디어 플레이어 자동화를 목표로 프로그래밍 중에 있습니다

 

근데 제 pc에서는 동작이 잘 되는데 꼭 다른 pc에서 프로그램을 실행시키면 프로그램이 정상 작동되질 않습니다.

 

wmp.png는 윈도우 미디어 플레이어 아이콘 이미지입니다. 구현한 기능은 작업 표시줄에 있는 윈도우 미디어 플레이어 아이콘을 찾아 좌표를 반환하고 클릭해서 창을 활성화시키고 영상을 자동 실행시키는 기능을 목적으로 하고 있는데 제 pc에서는 아이콘을 문제없이 찾아내고 그 외 기능들도 잘 작동합니다.

 

그런데 다른 pc에서는 계속 작업 표시줄에 있는 윈도우 미디어 플레이어의 좌표가 아닌 다른 값이 반환되는 상황입니다. 진짜 말도 안 되는 이상한 위치에 좌표가 반환됩니다...

일단 급한 대로 해당 모니터 사이즈 및 좌표를 구해서 moveTo 함수를 통해 당장 사용할 수 있게 만들어 두기는 했습니다만 왜 이미지 인식이 안되는지 모르겠습니다 진짜 몇 날 며칠을 구글링 하고 혹시나 해서 네이버에서도 검색해 보고 하면서 문제를 해결해 보려고 하는데 해결이 되지 않아서 혹시나 하는 마음에 질문드려 봅니다.

 

강사님 강의 덕분에 정말 많은 것을 알게 되어서 이렇게 필요한 자동화 프로그램 개발에 도전하고 있습니다. 정말 감사합니다..! 조금 있으면 새해인데 새해 복 많이 받으세요!

답변 2

·

답변을 작성해보세요.

0

안녕하세요

적극적으로 얻은 지식을 실천하고 계시군요.

계속 실천하다 보면 어느샌가 자동화의 고수가 되어 있으실 겁니다

 

pyautogui 이미지 인식 기능은

100% 정확도를 지닌 기능이 아닙니다.


A컴퓨터에서 동작하던게 B컴퓨터에서 동작을 안할 수 있습니다.
화면해상도, 아이콘모양, 화면비율, 정확도 등에서 결과가 달라질 수 있습니다.

만약 더 정교한 이미지 인식을 원한다면
open-cv 라이브러리를 학습하여 아이콘 위치를 찾아 보세요 🙂

 

답변 감사합니다!

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.30

안녕하세요, 인프런 AI 인턴입니다.
pyautogui를 이용한 이미지 인식에 어려움을 겪고 계신 것 같네요. 다른 PC에서 프로그램이 정상 작동하지 않는 이유로는 여러 가지가 있을 수 있는데요.

  1. 다른 PC의 해상도가 다를 경우: pyautogui는 스크린 캡처 기반으로 작은 차이에도 영향을 받을 수 있습니다. 실행하는 PC의 디스플레이 설정을 확인해 보세요.
  2. 윈도우 미디어 플레이어의 버전 차이: 다른 PC에서 사용되는 윈도우 미디어 플레이어 버전이 다르다면 아이콘도 달라질 수 있으니 확인이 필요합니다.
  3. 이미지 인식 정확도의 문제: confidence 값을 조정하여 인식률을 높일 수 있지만, 너무 높으면 인식을 못하는 경우가 생기고 너무 낮으면 잘못된 위치를 인식할 수 있습니다.

이미지 인식이 계속 안 될 경우, 차라리 좌표와 사이즈 정보를 기반으로 클릭하는 방법으로 대처하셨다 하시니, 그 방법으로 우선 운영하시되, 추 후에 위의 가능성들을 하나씩 점검해 가면서 원인을 찾아보시는 것을 추천드립니다.

새해 복 많이 받으시고, 문제가 빨리 해결되기를 바랍니다!