Изображение OCR - фильтрация нежелательных данных - PullRequest
3 голосов
/ 18 февраля 2011

В основном я читаю автомобильные номерные знаки с помощью оптического распознавания символов tessract, однако, несмотря на то, что достаточно легко можно выделить текст с помощью изменения контраста, снижения шума и т. Д., Некоторые «части» транспортного средства остаются на изображении, что вызывает распознавание текстабросить плохие результаты.

Например, возьмите:

enter image description here

Я могу изменить это достаточно легко, например:

enter image description here

Я пытаюсь устранить края каждой пластины, вот еще один пример:

enter image description here

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

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

http://www.codeproject.com/KB/GDI-plus/Image_Processing_Lab.aspx

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

Спасибо

Ответы [ 2 ]

1 голос
/ 19 октября 2012

Пожалуйста, попробуйте использовать концепцию трансформации ширины штриха.

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

0 голосов
/ 18 мая 2011

Я уже сделал такой алгоритм. Я просто могу сказать, что это прекрасно работает. Секрет в том, что вам нужно знать, что свет исходит только с одной стороны, возможно. Вы не можете установить изображение «черно-белое», просто используя ОДИН порог.

Определение средней яркости частей изображения и использование этого расчета яркости для установки порога для каждой области.

Например, если левая верхняя часть светлее, вам нужен нижний порог, чтобы эти части не светились. И если в правом нижнем углу есть слабое освещение, вам нужно установить порог выше, чтобы получать всю существующую информацию о освещении.

Затем вам нужно просто вбить изображение с каждой стороны, используя метод:

IsPixelAboveThreshold ?

Если он ниже, вы находитесь на границе, если он выше, вы можете сказать, что находитесь в середине изображения с большей яркостью.

Привет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...