Можно ли ограничить набор символов, которые tesseract ищет (например, поиск только для букв a-z)? Это значительно улучшит мои результаты.
Предельные символы tesseract ищет
Ответ 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 это невозможно сделать. Вы можете только настроить свою модель или использовать регулярные выражения, чтобы удалить дополнительные символы из прогноза.