Pytesseract не работает в платформе Windows - PullRequest
0 голосов
/ 30 июня 2018

Я даю приведенный ниже код, который прекрасно работает на платформе linux, но не работает на платформе winodws. Это связано с поведением pytesseract.

def imgps():
try:
    answer = filedialog.askdirectory(parent=root,
                                     initialdir=os.getcwd(), title="Please select a folder:")
    for fn in os.listdir(answer):
        if fn.endswith(".png") or fn.endswith(".jpg"):
            x = os.path.join(answer, fn)
            print(x) #loop breaks after this.
            rd = pytesseract.image_to_string(Image.open(x), lang='eng').replace('-\n', '') \
                .replace('\n', ' ').encode("ascii", 'ignore')
            tb9.insert('insert', rd)
            tb9.insert('insert', br)
        else:
            continue
except:
    messagebox.showinfo(message="No File to Display.")

Нажмите кнопку, чтобы выполнить вышеуказанную функцию. Я думаю, что мне не нужно давать его код тоже. Помощь будет оценена. То, что я видел, что команда print выполняется для первого файла, а затем для разрывов цикла, что подтверждает, что проблема связана с поведением pytesseract в Windows. Помощь будет высоко оценена.

1 Ответ

0 голосов
/ 01 июля 2018

Наконец-то мне пришлось самому найти решение. Вот такая строка кода. pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files/Tesseract-OCR/tesseract.exe', который необходимо добавить в функцию, чтобы указать pytesseract местоположение для использования tesseract. Установка переменных среды может работать, только если скрипт и программные файлы tesseract находятся на одном диске. Если они находятся на другом диске, то это обходной путь.

...