:lab
코딩일기
:lab
전체 방문자
오늘
어제
  • 분류 전체보기 (28)
    • 일상 (5)
      • 과학 (0)
      • 개발 (1)
      • Apple (3)
      • 갤럭시 (1)
      • 기타 (0)
    • 실험실 (0)
    • 배운 것들 (17)
      • 블렌더 Blender (0)
      • 깃허브 Github (1)
      • html,css,js (7)
      • python (6)
      • React Native (1)
      • Unity (1)
      • 기타 (1)
    • 블로그 (6)
      • 꾸미기 (4)
      • 수익 (2)

블로그 메뉴

  • 🧇 홈
  • 🏷 태그
  • 🎒 방명록

공지사항

인기 글

태그

  • tenping
  • pywebview
  • Ionicons
  • tilt.js
  • PyAudio
  • CSS
  • 클론 사이트
  • 광고
  • h 태그
  • 가상 램
  • Random.Range
  • 이스터에그
  • kivy
  • STANDWITHUKRAINE
  • Prefix
  • 이게뭐여
  • 구글
  • 티스토리
  • 10ping
  • prefix free
  • font family
  • ios
  • 애드핏
  • 안드로이드
  • alt-c
  • Github
  • Karabiner-Elements
  • 텐핑
  • 수익
  • Mac
  • 파이썬
  • 깃허브
  • 구글 클론 사이트
  • vscode
  • Vendor Prefix
  • 맥
  • react native
  • chrome
  • 왜 됐지
  • 카카오
  • 폰트
  • HTML
  • 브라우저
  • 햄버거메뉴
  • lipsync
  • Android
  • LINK
  • 크롬
  • Python
  • RAM Plus

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
:lab

코딩일기

[Python - pyautogui] locateCenterOnScreen
배운 것들/python

[Python - pyautogui] locateCenterOnScreen

2021. 1. 28. 12:02
728x90

locateCenterOnScreen은 pyautogui의 기능 중 하나로,

지정된 이미지를 찾아 그 찾은 곳의 중간 x,y 좌표를 알아내는 코드입니다.

흔히, 이미지의 좌표값을 모를 때 사용됩니다. ( 외부 앱의 버튼의 좌표 등 )

import pyautogui

pyautogui.locateCenterOnScreen('Hello.png')

위 코드와 같이 사용하며, 위 코드를 실행시키면 폴더 내의 Hello.png와 같은 게 있는지 화면상에서 찾아줍니다.

찾아준 x, y의 값을 변수에 저장하려면 아래와 같이 작성하면 됩니다.

import pyautogui

x, y = pyautogui.locateCenterOnScreen('Hello.png')

또한, confidence를 추가하여 일치율이 일정 값 이상이면 감지하게 할 수도 있습니다.

(OpenCV를 설치해야함.)

import pyautogui

x, y = pyautogui.locateCenterOnScreen('Hello.png', confidence=0.7)

confidence를 이용하면,

이미지의 미묘한 변화, 밝기의 차이, 윈도우의 야간 모드(블루라이트 필터) 상황에서도 

문제없이 감지할 수 있습니다.

 

confidence가 없을때는 100% 일치해야만 인식하는 것을 보아

스크린샷을 찍어 감지하는 것 같습니다.

 

또한, 1920x1080 해상도에서는 실행시간이 1~2초 정도 걸린다는 것을 보아

위에서 아래로 차례로 감지하는 듯 합니다. 

 

따라서, 저의 경우에는 confidence를 추가하여 블루라이트 필터가 적용됐거나, 이미지에 미묘한 변화가 있을 때

인식을 할 수 있게 만들었습니다.

 

grayscale을 추가하여 이미지를 흑백으로도 구별할 수 있습니다.

import pyautogui

x, y = pyautogui.locateCenterOnScreen('Hello.png', grayscale=True, confidence=0.7)

 

locateCenterOnScreen 속성

이름 기능 값 기본값
confidence 정확도 설정. 0.x 1.0
grayscale 흑백으로 구별할지 설정. True, False False

 

 

728x90

'배운 것들 > python' 카테고리의 다른 글

[Python] Pywebview를 이용한 웹뷰앱 만들기! - 2  (4) 2021.02.22
오류-python | error: Microsoft Visual C++ required 오류 해결 방법 [error: Microsoft Visual C++ OO.O or greater is required. Get it with "Microsoft C++ Build Tools"]  (0) 2021.02.14
[Python] Pywebview를 이용한 웹뷰앱 만들기! - 1  (1) 2021.02.06
python Pyinstaller 오류 관련  (0) 2021.01.27
Python 기본 연습 - 1.print  (0) 2021.01.24
    '배운 것들/python' 카테고리의 다른 글
    • 오류-python | error: Microsoft Visual C++ required 오류 해결 방법 [error: Microsoft Visual C++ OO.O or greater is required. Get it with "Microsoft C++ Build Tools"]
    • [Python] Pywebview를 이용한 웹뷰앱 만들기! - 1
    • python Pyinstaller 오류 관련
    • Python 기본 연습 - 1.print
    :lab
    :lab
    환영합니다! :D

    티스토리툴바