Есть крипт, работа которого заключается в след.
Сделал скрин экрана
обрезал скрин при необходимости
сравнил с образцом (образец сохранен на диск)
при получении результата нажимаем кнопочки.
имеем след код
from PIL import ImageGrab
from cv2 import matchTemplate,minMaxLoc,imread,cvtColor,COLOR_RGB2BGR,TM_CCOEFF_NORMED
from numpy import array
from pyautogui import moveTo,click,keyDown,keyUp,press
from time import sleep,time
from random import choice
#таких функций около 8
def chek_some(all_img):
koof=0.9
img=all_img.crop(какаято область)
img=cvtColor(array(img), COLOR_RGB2BGR)
res = matchTemplate(img,какойто изображение,TM_CCOEFF_NORMED)
min_v, max_v, min_pt, max_pt = minMaxLoc(res)
if max_v>=koof:
stat=True
break
else:
stat=False
return(stat)
#таких функций около 6
def do_some(some_stat):
click(some_stat)
sleep(0.2)
some_stat+=20
click(some_stat)
def main():
#в данной функции описано порядок выполениня функций chek и do
all_img=ImageGrab.grab()
some_stat1=chek_some1(all_img)
some_stat2=chek_some2(all_img)
some_stat3=chek_some3(all_img)
some_stat4=chek_some4(all_img)
if some_stat1:
do_some1(some_stat1):
elif some_stat2:
do_some2(some_stat2)
elif some_stat2 and some_stat3:
do_some3(some_stat3)
while True:
main()
При этом при запуске весь скрипт грузит цп на 25 процентов(при условии что сама программа, с которой считываем изображение занимаем не более 10 проц цп).
Вопрос:
Каким образом возможно снизить загрузку на цп, если это возможно при подобной задаче вовсе...
ПС в примере могут был синтаксические\логические ошибки(