7-сегментный дисплей OCR - программирование

7-сегментный дисплей OCR

Я создаю приложение iOS (делаю снимок и запускаю OCR на нем) с помощью Tesseract (библиотека OCR), и он отлично работает с хорошо написанными числами и символами (с использованием обычных шрифтов).

Проблема, с которой я столкнулась, заключается в том, что если я попробую на 7-сегментном дисплее, это даст очень плохие результаты.

Итак, мой вопрос: кто-нибудь знает, как я могу подойти к этой проблеме? Есть ли способ, чтобы Tesseract распознал эти символы?

4b9b3361

Ответ 1

Мне тоже было очень трудно получить tesseract для распознавания цифр из изображений ЖК-дисплеев.

У меня был некоторый маргинальный успех, предварительно обработав изображения с помощью ImageMagick, чтобы наложить копию изображения на себя с небольшим вертикальным сдвигом, чтобы заполнить промежутки между сегментами:

$ composite -compose Multiply -geometry +0+3  foo.tif foo.tif foo2.png

В конце концов, моя спасительная грация была << → > http://www.unix-ag.uni-kl.de/~auerswal/ssocr/

Семь сегментов оптического распознавания символов:

Большое спасибо автору Эрику Ауэрсвальду за этот код!

Ответ 2

Я не пробовал OCRing 7-сегментный дисплей, но я подозреваю, что проблема может быть вызвана тем, что символы не являются подключенными компонентами. Tesseract не справляется с отключенными шрифтами из моего опыта.

Простая эрозия (предварительная обработка изображения) может помочь, соединяя сегменты, но вам придется протестировать ее и играть с размером ядра, чтобы предотвратить слишком много искажений.