Подтвердить что ты не робот

Предельные символы tesseract ищет

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

4b9b3361

Ответ 1

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

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

tessedit_char_whitelist abcdefghijklmnopqrstuvwxyz  

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

tesseract input.tif output nobatch letters  

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

Ответ 2

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

tesseract stdin stdout -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz -psm 6

Ответ 3

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

tesseract input_file output_file --oem 0 -c tessedit_char_whitelist = abc123

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

Ответ 4

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

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

вы также можете сделать blackList для исключения символов.

Ответ 5

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