본문 바로가기
공부/Python

파이썬에서 이미지 서치 사용하기 [ image search on python ]

by goodsell 2020. 5. 1.

 

 

-

0. python에서 디스플레이 상의 이미지를 추적할 수 있는 라이브러리가 있을 것이라 가정.

1. 해당하는 라이브러리를 발견하고 이를 통해 매크로 프로그램을 작성

2.  다음의 블로그에서 발췌

https://pyinweb.blogspot.com/2019/04/imagesearch.html

 

파이썬으로 오토핫키의 imagesearch를 구현해보자!

파이썬으로 오토핫키의 imagesearch를 구현해봅니다.

pyinweb.blogspot.com

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))

 

 

 

 

 

 

 

cs

 

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