Каков типичный метод разделения связанных букв в слове с помощью OCR? - PullRequest
5 голосов
/ 14 апреля 2010

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

Может ли кто-нибудь дать совет относительно типичного метода, используемого для распознавания и разделения отдельных символов в связанной форме (я имею в виду слово, в котором все буквы связаны друг с другом)? Забудьте о почерке, если предположить, что буквы соединены вместе с помощью известного шрифта, каков наилучший способ определения каждого отдельного символа в слове? Когда символы пишутся отдельно, проблем нет, но когда они объединены, мы должны знать, где начинается и заканчивается каждый отдельный символ, чтобы перейти к следующему шагу и сопоставить их по отдельности с буквой. Есть какой-нибудь известный алгоритм для этого?

1 Ответ

3 голосов
/ 14 апреля 2010

Стандартным термином для этого процесса является «сегментация символов» - сегментация - это термин обработки изображений для разбиения изображений на сгруппированные области для распознавания. «Сегментация арабских символов» вызывает много хитов в google scholar , если вы хотите узнать больше.

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

Элемент , как определено в Глоссарий имеет немного об этом, но здесь есть тонна информации.

По сути, Тессеракт решает проблему (из Как работает Тессеракт ), рассматривая капли (не буквы), а затем объединяя эти капли в слова. Это позволяет избежать проблемы, которую вы описываете, при создании новых проблем.

Для арабского (как вы указываете) Тессеракт не работает. Я не знаю много об этой области, но эта статья , кажется, подразумевает Dynamic Time Warping (DTW) - полезный метод. Это пытается растянуть слова, чтобы сопоставить их с известными словами, и снова работает в слове, а не в буквенном пространстве.

...