@Igor_Merg

Pyteseract не видит русский?

Всем привет, использую Pyteseract что бы прочитать текст с картинки (текст на русском), но выдает ошибку:
Traceback (most recent call last):
  File "C:\Users\HP\PycharmProjects\pythonProject\.idea\Bots\Perevodchik.py", line 31, in <module>
    text = pytesseract.image_to_string(img, lang= 'rus')
  File "C:\Users\HP\AppData\Roaming\Python\Python39\site-packages\pytesseract\pytesseract.py", line 409, in image_to_string
    return {
  File "C:\Users\HP\AppData\Roaming\Python\Python39\site-packages\pytesseract\pytesseract.py", line 412, in <lambda>
    Output.STRING: lambda: run_and_get_output(*args),
  File "C:\Users\HP\AppData\Roaming\Python\Python39\site-packages\pytesseract\pytesseract.py", line 287, in run_and_get_output
    run_tesseract(**kwargs)
  File "C:\Users\HP\AppData\Roaming\Python\Python39\site-packages\pytesseract\pytesseract.py", line 263, in run_tesseract
    raise TesseractError(proc.returncode, get_errors(error_string))
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file C:\\Program Files (x86)\\Tesseract-OCR\\rus.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'rus\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')

Ps: Все языки установлены, я хз что делать. Помогите пж!
Кусок кода:
import pytesseract
filename = 'Image.png'
pytesseract.pytesseract.tesseract_cmd = "C:\Program Files (x86)\Tesseract-OCR/tesseract.exe"
img = Image.open(filename)
text = pytesseract.image_to_string(img, lang= 'rus')
  • Вопрос задан
  • 5132 просмотра
Решения вопроса 1
@o5a
Ему нужно знать, где находится папка с языковыми файлами (в том числе rus.traineddata).
Можно задать через указание переменной среды windows - TESSDATA_PREFIX (в ней указать полный путь к папке с этими файлами traineddata).
Если этой переменной среды нет, то он пытается сам определить нахождение файлов и похоже определил неправильно.
Другой вариант - явно указать путь этих файлов через конфиг.
Конкретный путь к файлам может отличаться, смотрите сами, где у вас лежит rus.traineddata
import pytesseract
filename = 'Image.png'
pytesseract.pytesseract.tesseract_cmd = "C:\Program Files (x86)\Tesseract-OCR/tesseract.exe"
tessdata_dir_config = r'--tessdata-dir "C:\Program Files (x86)\Tesseract-OCR\tessdata"'
img = Image.open(filename)
text = pytesseract.image_to_string(img, lang= 'rus', config=tessdata_dir_config)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
samodum
@samodum
Какой вопрос - такой и ответ
Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'rus\' Tesseract couldn\'t load any languages! Could not initialize tesseract.

Русским по белому чётко написано в чём проблема
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы