Как определить точные, заранее определенные формы с грубым преобразованием, например, буквой "W"? - PullRequest
6 голосов
/ 17 декабря 2011

Допустим, у меня есть какая-то система, которая сканирует документы, где все документы используют один и тот же шрифт и размер шрифта.

В этих документах всегда будет одна и та же буква "W". Допустим, оно всегда 20 px большое. Как я могу настроить преобразование hough для распознавания этой буквы "W" размером 20 px в моих документах?

Ответы [ 2 ]

3 голосов
/ 17 декабря 2011

Быстрый поиск в Google дает следующую интересную информацию:

Обобщение преобразования Хафа для обнаружения произвольных форм

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

Кроме того, если это фактическая буква "W", будет ли механизм распознавания текста, такой как Tesseract , лучше соответствовать вашим потребностям?

1 голос
/ 20 декабря 2011

Преобразование Хафа для линий находит уравнения наилучшего соответствия линии. Вам нужно будет выполнить дополнительную обработку, чтобы найти только отрезки. Если толщина символа составляет несколько пикселей, то для эффективного поиска линий вы можете уменьшить толщину до одного пикселя. Для этого есть методы, но есть и различные алгоритмические ловушки.

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

Нормализованная взаимная корреляция (сопоставление с шаблоном) может работать, если вы уверены, что изображение всегда будет в определенном повороте, символы всегда будут одинакового размера и т. Д. Но даже для сканов вы увидите некоторые вращение и некоторые изменения в контрасте.

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

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