Python Tesseract не может распознать этот шрифт - PullRequest
10 голосов
/ 19 ноября 2009

У меня есть это изображение:

alt text

Я хочу прочитать это в строку, используя python, что я не думаю, что это будет так сложно. Я наткнулся на tesseract, а затем на оболочку для сценариев Python с использованием tesseract.

Итак, я начал читать изображения, и это было прекрасно, пока я не попытался прочитать это. Я собираюсь научить его читать этот конкретный шрифт? Есть идеи, что это за конкретный шрифт? Или есть лучший ocr движок, который я мог бы использовать с python, чтобы выполнить эту работу.

Редактировать: Возможно, я мог бы сделать какой-то вектор вокруг чисел, а затем перерисовать их в больший размер? Чем больше изображения, тем лучше тессеракт, кажется, ocr их читает (неудивительно, лол).

Ответы [ 5 ]

11 голосов
/ 19 ноября 2009

Просто потренируйте двигатель на 10 цифр и '.' , Это должно сделать это. И убедитесь, что вы изменили свое изображение на оттенки серого, прежде чем распознавать его.

5 голосов
/ 27 апреля 2010

Тренировка трудная и не та, которая действительно нужна здесь. Различие между O и 0 и l и 1 будет трудным, независимо от сценария. Ограничение OCR для выбора только между числовыми цифрами значительно упрощает проблему, если это позволяет контекст.

Мой интерес к тессеракту связан с обработкой большого количества чисел из старых правительственных отчетов. В этом случае и в данном случае набор символов будет выглядеть как «0123456789». После комментария в старой (sourceforge) группе новостей для tesseract, eric_taj 2007-03-21, вы можете изменить Templates-> IndexFor и Templates-> ClassIdFor в classify / intproto.cpp, чтобы маскировать символы, которые не разрешены , Я немного изменил этот подход, чтобы читать в разрешенном наборе символов во время выполнения в переменной среды, чтобы я мог на лету настроить разрешенный набор.

1 голос
/ 06 сентября 2013

Распознавание шрифта маленького экрана может быть затруднено для оптического распознавания текста общего назначения, который оптимизирован для чтения большого гладкого шрифта, отсканированного с бумаги.

Вы можете попробовать специальный скриншот OCR, как Textract SDK . Он будет собирать все локальные шрифты и обеспечивать 100% точное распознавание, просто сопоставляя символы с символами.

1 голос
/ 19 ноября 2009

В последнее время в группе обсуждения tesseract OCR было много трафика по этой теме. Вам нужно будет использовать «язык» только из цифр. Многие люди так тренировали двигатель раньше. Похоже, вы пытаетесь перехитрить схему защиты данных с помощью капчи ... tsk, tsk.

0 голосов
/ 19 ноября 2009

Это похоже на шрифт Eurostile. Да, вам придется тренироваться с каждым другим шрифтом, который используется в ваших исходных изображениях.

...