Tesseract: указание областей текста

Я использую tesseract-ocr-3.01 для сканирования многих форм. Все формы следуют шаблону, поэтому я уже знаю, где находятся области / прямоугольники текста.

есть ли способ передать эти области в tesseract при использовании инструмента командной строки?

2 ответов


Я нашел ответ, Спасибо этой теме.

похоже, что tesseract поддерживает формат uzn (используемый в тестах unvl).

из потока:

вызов tesseract с параметром "- psm 4 " и переименование файла uzn с тем же именем изображение кажется работает.

пример: если у нас есть C:\input.tif и C:\input.uzn мы делаем так:

tesseract -psm 4 C:\input.tif C:\output

это может быть не оптимальный ответ, но здесь идет:

Я не уверен, имеет ли инструмент командной строки параметры для указания текстовых областей.

вы можете использовать оболочку Tesseract на другой платформе (EmguCV имеет встроенный Tesseract). Таким образом, вы получаете отсканированное изображение, обрезаете текстовые области и даете их Тессеракту по одному. Таким образом, вы также избежите любых неточностей в анализе макета страницы Тессеракта.

например.

Image<Gray,Byte> scannedImage = new Image<Gray,Byte>(path_to_scanned_image);
//assuming you know a text region
Image<Gray,Byte> textRegion = new Image(100,20);
scannedImage.ROI = new Rectangle(0,0,100,20);
scannedImage.copyTo(textRegion);
ocr.recognize(textRegion);