Как получить координаты распознанных символов - PullRequest
5 голосов
/ 06 сентября 2011

У меня очень простое приложение для распознавания текста, основанное на Tesseract. После признания шаг, я также предоставляю шаг проверки пользователя, который позволяет исправить в случае, если OCR не так. Чтобы улучшить пользовательский интерфейс, я планирую нарисовать прямоугольник поверх символа OCR-ed на исходном входном изображении, и поместите его рядом с выходом OCR. Чтобы добраться до этого, мне нужно координата распознанных символов.

Я пробовал что-то вроде этого, но, похоже, это дало мне толку:

   ETEXT_DESC output;
   tess->Recognize(&output);
   text = tess->GetUTF8Text();

Теперь, если я получу доступ к output-> count, это даст мне значение выше 10000, что, очевидно, неправильно, потому что все изображение содержит всего около 20 символов.

Я на правильном пути? Могу ли я получить направление, пожалуйста?

Ответы [ 2 ]

6 голосов
/ 16 марта 2012

Может быть, полезно получить координаты ящиков.Попробуйте исполняемый файл tesseract.Используйте команду

"tesseract.exe [image] [output] makebox"

После этого вы получите координаты каждого символа, по одной на строку.Тогда вы сможете сравнить.

1 голос
/ 03 апреля 2013

Исполняемый файл tesseract имеет опцию hocr для вывода распознанных символов и их координат в формате html .Чтобы получить это программно, в FAQ говорится, что он ссылается на baseapi.h.

...