Мне нужно сделать pytesseract.image_to_string быстрее - PullRequest
0 голосов
/ 04 июля 2019

Я снимаю экран, а затем читаю текст с него, используя tesseract, чтобы преобразовать его в строку. Проблема в том, что он замедляет то, что мне нужно, я делаю около 5,6 кадров в секунду, и мне нужно больше, как 10-20.(я не помещал импорт, который использовал, потому что вы можете видеть его в коде)

я пытался все, что знаю, и ничего не помогло

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"

time.sleep(7)

def getDesiredWindow():
    """Returns the top-left and bottom-right of the desired window."""
    print('Click the top left of the desired region.')
    pt1 = detectClick()
    print('First position set!')
    time.sleep(1)
    print('Click the bottom right of the desired region.')
    pt2 = detectClick()
    print('Got the window!')
    return pt1,pt2

def detectClick():
    """Detects and returns the click position"""
    state_left = win32api.GetKeyState(0x01)
    print("Waiting for click...")
    while True:
        a = win32api.GetKeyState(0x01)
        if a != state_left: #button state changed
            state_left = a
            if a < 0:
                print('Detected left click')
                return win32gui.GetCursorPos()


def gettext(pt1,pt2):
    # From the two input points, define the desired box
    box = (pt1[0],pt1[1],pt2[0],pt2[1])
    image = ImageGrab.grab(box)
    return pytesseract.image_to_string(image)
"""this is the part where i need it to be faster"""
...