Анализ и преобразование изображения на основе этого анализа для улучшения результатов распознавания - PullRequest
2 голосов
/ 19 февраля 2010

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

Мне нужно что-то вроде анализа строк букв, но даже тогда я не могу определить, перевернута ли линия или нет.

Ответы [ 3 ]

1 голос
/ 20 февраля 2010

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

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

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

1 голос
/ 02 марта 2010

Не уверен, что вы создаете механизм распознавания или используете его. Большинство коммерческих механизмов распознавания могут обнаружить, что страница перевернута (или повернута на 90 градусов), и автоматически повернуть ее. Например, моя компания *1001* может сделать это для моей компании

.

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

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

Для 90 и 270 грубое преобразование скажет вам, горизонтальные или вертикальные линии на изображении. Он также может сказать вам, слегка ли они повернуты по горизонтали, чтобы вы тоже могли это исправить.

1 голос
/ 19 февраля 2010

Мой ответ вам будет очень высоким, поскольку это не так просто, как вы можете себе представить.Вы, вероятно, делаете какую-то сегментацию изображения, где вы сегментируете каждый символ вашего текста.Но для распознавания символов, даже если они повернуты, необходимо использовать вектор объектов с характеристиками, инвариантными к вращению.Для этого некоторые люди используют

Zernike Moment

Neocognitron neural network - широко используется для почерка

Не думаю, что это простая задача

...