У меня проблема с запуском движка tesseract-ocr на Linux. Я скачал данные для русского языка и поместил их в каталог tessdata (/ usr / local / share / tessdata). Когда я пытаюсь запустить tesseract с помощью команды tesseract blob.jpg out -l rus
, отображается ошибка:
Error opening data file /usr/local/share/tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language eng
Tesseract couldn't load any languages!
Could not initialize tesseract.
Согласно руководству по компиляции , я использовалexport TESSDATA_PREFIX='/usr/local/share/'
указывал свой каталог tessdata. Может стоит отредактировать какие-нибудь файлы конфигурации? Tesseract пытается загрузить файлы данных eng вместо rus.
Скриншот: http://i.stack.imgur.com/I0Guc.png
/usr/share/tesseract-ocr/tessdata/
Самый простой способ - установить необходимый пакет:
Как вы могли заметить, это открывает дорогу к другим языкам (например, tesseract-ocr-fra).
источник
tesseract --list-langs
для просмотра всех доступных языков. Вы также можете использоватьsudo apt-get install tesseract-ocr-*
для установки всех из нихtesseract-data-eng
и т.д.У меня тоже была эта ошибка на машине с Windows.
Мое решение.
1) Загрузите языковые файлы с https://github.com/tesseract-ocr/tessdata/tree/3.04.00
Например, для eng я скачал все файлы с префиксом eng.
2) Поместите их в каталог tessdata внутри какой-то папки. Добавьте эту папку в переменные системного пути как TESSDATA_PREFIX .
Результатом будет System env var: TESSDATA_PREFIX = D: / Java / OCR И в папке OCR есть tessdata с файлами языков.
Это скриншот каталога:
источник
Ни одно предыдущее решение не помогло мне.
Я установил
apt-get
и загрузил tessdata вручную, переместил/usr
и так далее, и никто не работал, даже если я экспортировал переменную тысячу раз.Наконец, в последней попытке перед тем, как начать плакать, я попытался передать путь непосредственно экземпляру Tesseract ().
В Python:
tr = Tesseract("/usr/local/share/tesseract-ocr/")
и теперь это работает. Чтобы уточнить, я используюtesserwrap
module.источник
В моем случае ошибки, которые я сделал, или попытки, которые не увенчались успехом.
TESSDATA_PREFIX
с указанными выше путямиПервые 2 попытки не сработали, потому что файлы из
git clone
не работали по неизвестным мне причинам. Я не уверен, почему попытка №3 сработала для меня.В заключение,
wget
--tessdata-dir
с именем каталогаДля меня важно хорошо изучить инструмент и использовать его , а не полагаться на установку диспетчера пакетов и каталоги.
источник
Вы можете вызвать функцию API tesseract из кода C:
И соберите этот код:
(мне нужен FreeImage для загрузки изображений)
источник
Я использую Visual Studio 2017 Community Edition.
Я решил эту проблему, создав каталог под названием tessdata в каталоге Debug моего проекта. Затем я помещаю файл eng.traineddata в указанный каталог.
источник
Я использую ОС Windows, я пробовал все вышеперечисленные решения, и ни одно из них не работает.
Наконец, я устанавливаю Tesseract-OCR на диск D (откуда я запускаю свой скрипт python) вместо диска C, и он работает.
Итак, если вы используете Windows, запустите свой скрипт Python на том же диске, что и ваш Tesseract-OCR.
источник
Разработчик C #, работающий над Windows здесь. У меня работает просто скачать файл eng.traineddata по следующему URL-адресу:
https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata
и скопируйте его в следующий каталог в моем проекте консольного приложения:
[Каталог проекта] \ bin \ Debug \ tessdata
Я вручную создал папку tessdata выше.
источник
Для пользователей Windows:
В Переменные среды добавьте новую переменную в системную переменную с именем «TESSDATA_PREFIX» и значением «C: \ Program Files (x86) \ Tesseract-OCR \ tessdata».
источник
источник