Предел символов ищет тессеракт - PullRequest
56 голосов
/ 02 марта 2010

Можно ли ограничить набор символов, который ищет tesseract (например, искать только буквы a-z)? Это значительно улучшило бы мои результаты.

Ответы [ 5 ]

76 голосов
/ 06 июня 2010

Создайте файл конфигурации (например, «буквы») в каталоге tessdata / configs - обычно /usr/share/tesseract/tessdata/configs
или
/usr/share/tesseract-ocr/tessdata/configs

И добавьте эту строку в файл конфигурации:

tessedit_char_whitelist abcdefghijklmnopqrstuvwxyz  

... или, может быть, [a-z] работает .. не знаю: -)
Затем вызовите tesseract, подобный этому:

tesseract input.tif output nobatch letters  

Это ограничит тессеракт для распознавания только нужных символов

15 голосов
/ 28 февраля 2018

Чтобы использовать белый список в конфигурационном файле или с помощью переключателя командной строки -c tessedit_char_whitelist=..., в самой последней версии 4.0 вам нужно будет установить режим OCR Engine на «Только оригинальный Tesseract». Это связано с тем, что новый режим «Нейронные сети LSTM» не учитывает настройку белого списка. Пример правильной командной строки для версии 4.0:

tesseract input_file output_file --oem 0 -c tessedit_char_whitelist = абв123

ОБНОВЛЕНИЕ: В более новых версиях (4.0) поврежденный файл eng.traineddata установлен по умолчанию Windows и некоторыми установщиками Linux. Временное решение - заменить файл tessdata\eng.traineddata файлом более старой версии. Этот файл должен быть около 30 МБ. В противном случае вы получите ошибку: «Tesseract не может загрузить ни один язык!» или аналогичный.

15 голосов
/ 08 сентября 2016

В дополнение к файлу конфигурации установлен флаг -c:

tesseract stdin stdout -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz -psm 6
6 голосов
/ 21 марта 2017

Просто добавьте это для всех, кто использует tesseract на Android.В вашей функции readOCR, где вы устанавливаете язык и т. Д., Добавьте следующую строку:

tesseract.setVariable("tessedit_char_whitelist","ABCDEFGHIJKLMNOPQRSTUVWXYZ");

вы также можете сделать черный список для исключаемых символов.

0 голосов
/ 26 апреля 2019

В Tesseract версии 4.00 это невозможно. Вы можете только настроить свою модель или использовать регулярные выражения, чтобы удалить дополнительные символы из прогноза.

...