Ошибка тессеракта в преобразовании image_to_string (): ytesseract.pytesseract.TesseractError: (2, «Использование: файл ввода pytesseract [-l lang]»)

#python #tesseract

Вопрос:

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: я понимаю, что есть много сообщений о Тессеракте. Я еще не нашел рабочего решения, которое не приводило бы к ошибкам.

Я пытаюсь просто использовать распознавание на изображении с помощью Тессеракта. Я пробовал множество решений на различных форумах и не добился успеха. Я преобразовал pdf-файл в изображение и сохранил указанное изображение. Затем я вызвал это изображение с помощью cv2. Я тоже собирался показать это изображение. Теперь я пытаюсь применить команду image_to_string() из Tesseract.

Я попытался настроить pytesseract.pytesseract.tesseract_cmd и убедился, что установлены как оболочка, так и пакет true tesseract. Вот код:

 from wand.image import Image
import cv2
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r'C:/Users/Afton/anaconda3/Scripts/pytesseract.exe'


# Convert from pdf and save as image
pdf = 'C:/path/example.pdf'
outputFilename = 'C:/path/example.jpg'

with Image(filename=pdf) as img:
    img.save(filename=outputFilename)

# Read image
imagePath = outputFilename
image = cv2.imread(imagePath)    

# Configure OCR with pytesseract
config = r'-l deu --oem 1 --psm 3'
text = pytesseract.image_to_string(image, config=config)

# Print text output
text = text.split('n')
print(text)
 

Это текущая ошибка:

 pytesseract.pytesseract.TesseractError: (2, 'Usage: pytesseract [-l lang] input_file')
 

Ранее ошибка была связана с вводом pytesseract.pytesseract.tesseract_cmd.

Любая помощь будет признательна.

Обновлено: изображение на немецком языке. Я попытался уточнить это в конфигурации.

Update2: Я попробовал альтернативный путь с этого ресурса (с моим местоположением файла)

 pytesseract.pytesseract.tesseract_cmd = r'C:/Program Files/Tesseract-OCR/tesseract.exe' 
 

Теперь я получаю эту ошибку:

 pytesseract.pytesseract.TesseractError: (1, 'Error opening data file C:\Program Files\Tesseract-OCR/tessdata/deu.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language 'deu' Tesseract couldn't load any languages! Could not initialize tesseract.') 
 

Примечание для других пользователей с этой проблемой: Скачал языковой пакет с https://github.com/tesseract-ocr/tessdata потому что я читаю немецкий документ. Все языковые файлы доступны здесь. Проблема заключалась в языковом разнообразии.

Комментарии:

1. какую версию тессеракта вы установили?

2. @user898678 Я использовал 64-разрядную версию отсюда: github.com/UB-Mannheim/tesseract/wiki

Ответ №1:

Эта строка неверна:

 pytesseract.pytesseract.tesseract_cmd = r'C:/Users/Afton/anaconda3/Scripts/pytesseract.exe'
 

Пожалуйста, ознакомьтесь с документацией pytesseract.