import time
import pyautogui
import cv2
import mss
import numpy
import pytesseract
import keyboard
pytesseract.pytesseract.tesseract_cmd = r'C:Program FilesTesseract-OCRtesseract.exe'
with mss.mss() as sct:
while True:
mon = {'top': 321, 'left': 528, 'width': 100, 'height': 50}
im = numpy.asarray(sct.grab(mon))
cv2.imshow('Image', im)
text = pytesseract.image_to_string(im)
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
time.sleep(1)
当我试图为这个程序制作一个切换系统时,我不知道从哪里开始。所谓切换,我的意思是,当我按下"esc"时,程序开始运行,但当我再次单击"esc"时,它会中断程序请指导我完成这个过程,因为我不知道从哪里开始。
只需使用切换:
with mss.mss() as sct:
showme = True
while True:
mon = {'top': 321, 'left': 528, 'width': 100, 'height': 50}
if showme:
time.sleep(1)
im = numpy.asarray(sct.grab(mon))
cv2.imshow('Image', im)
text = pytesseract.image_to_string(im)
key = cv2.waitKey(25)
if key & 0xFF == ord('q'):
break
if key & 0xff = 0x1B:
showme = not showme
cv2.destroyAllWindows()
注意,我移动了睡眠呼叫,这样它就会响应唤醒";esc";更快地命中。