python-tesseract OCR: получать только цифры
Я использую тессеракт OCR с python-тессерактом. В FAQ по тессеракту относительно цифр имеем:
использование
TessBaseAPI::SetVariable("tessedit_char_whitelist", "0123456789");
ПЕРЕД вызовом функции Init или поместите ее в текстовый файл с именем tessdata/configs/digits:
tessedit_char_whitelist 0123456789
и тогда ваша командная строка становится:
tesseract image.tif outputbase nobatch digits
Предупреждение: пока старые и новые переменные конфигурации не будут объединены, у вас также должен быть параметр nobatch.
В python-tesseract метод SetVariable существует. Я пробовал это, но результат OCR такой же:
api = tesseract.TessBaseAPI()
api.SetVariable("tessedit_char_whitelist", "0123456789")
api.Init('.','eng',tesseract.OEM_DEFAULT)
api.SetPageSegMode(tesseract.PSM_AUTO)
Кто-нибудь уже получил это работает, или я должен считать это ошибкой в python-tesseract?
1 ответ
ОК, все заработало. В соответствии с этой (неофициальной?) Документацией tesseract-ocr, SetVariable() должен вызываться после Init(), даже если об этом говорится в официальном FAQ. Вызов его после Init () работает как задумано.