-
0. python에서 디스플레이 상의 이미지를 추적할 수 있는 라이브러리가 있을 것이라 가정.
1. 해당하는 라이브러리를 발견하고 이를 통해 매크로 프로그램을 작성
2. 다음의 블로그에서 발췌
https://pyinweb.blogspot.com/2019/04/imagesearch.html
3. 번들로 full example이 있었기에 이를 활용하여 코딩해봄
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
from python_imagesearch.imagesearch import *
import pyautogui as pag
#변수초기화
found_img = 0
#프로그램시작
print("Start seeking..")
process_list = {'obj1':'./obj1.png' , 'obj2':'./obj2.png', 'obj3':'./obj3.png', 'obj4':'./obj4.png'}
for key, value in process_list.items():
found_img = 0
while found_img == 0:
print("searching {}..".format(key))
find_img = imagesearch(process_list.get(key))
if find_img[0] != -1:
pag.moveTo(find_img[0]+20, find_img[1]+20)
pag.click()
found_img = -1 #반복문 탈출
print("{} has been found!".format(key))
|
|
4. 효과 : 원하는 이미지를 찾은 후 그 이미지를 순차적으로 클릭함.
5. 활용 : Supreme같은 한정 판매, 티켓팅 등의 부분에 사용 가능
6. 사용법 :
7-1. py확장자의 소스파일과 같은 폴더 내에 목적이 될 소스 이미지 파일을 위치시킴.
7-2. 파일이름을 알맞게 초기화 시키고 key값도 원한다면 초기화시킴
7-3. 실행.
8. 여담 : python은 엄청 느리다. 내 기준에선 엄청임. 이전에 c에서 HW control 쪽에서 time scheduling을 1ms 단위로 제어했었음. 이는 1ms안에 알고리즘이 충분히 계산된다는 뜻임. 실제로 while이나 for처럼 iterator를 사용할때 정말 엄청나게 빠른 속도로 prompt를 채워나가는걸 볼 수 있음. 하지만 python에서는 iterator를 쓰면 C에 비해서 엄청 느리게 prompt를 채워나감.. 아마 1ms scheduling이 어려울 수도 있음.
13. dictionary에 대해 몰랐던 부분들을 알게됨.
'공부 > Python' 카테고리의 다른 글
Anaconda아나콘다 패키지 설치 에러 해결법 (0) | 2020.06.11 |
---|