Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Распознавание текста (OCR) (http://forum.oszone.net/showthread.php?t=80686)

pva 10-03-2007 20:56 560017

Распознавание текста (OCR)
 
В общем, стукнуло меня в голову переложить очередную часть работы моих любимых сотрудников в моей любимой конторе на могучие плечи роботехники. Есть мысль автоматизировать ввод паспортных данных при помощи сканера или фотоаппарата. Если часть вопросов окажется не по теме - прошу модераторов не обижаться *SORRY*.
1. Если у кого в паспорте основные данные записаны от руки (а не принтером), дайте знать, пожалуйста
2. Посоветуйте метод (любой), лучше, если есть ссылки на теорию (в библиотеку идти неохота)
Задача: распознать слово, с очень небольшим уровнем шума, написанное неизвестным шрифтом в заданном прямоугольнике на картинке. Текст может включать русские или английские буквы и цифры (ну паспорт то все ведь видели). Подогнать изображение в нужный прямоугольник - это я умею.
3. За полезное сотрудничество могу поделиться результатом (dll). За очень полезное - исходниками (пишу на с++, приятным стилем, собирается почти любым компилятором)

vadimiron 11-03-2007 23:27 560401

pva
Не знаю, как самому писать, но мы пользуемся уже готовыми утилитами (конечно платные), которые либо сканируют весь документ и мы потом разбираем результаты, или другой тип программ: создаётся средствами программы форма с указанием какие где поля будут, и программа далее сканирует эти регионы и возвращает результат

Из бесплатного могу посоветовать проект simpleOCR, gocr(jocr)

CyberDaemon 12-03-2007 12:39 560575

Цитата:

при помощи сканера или фотоаппарата
Я тут книжку фотографированную распознавал.... Морока та еще, сканер намного лучше картинку дает. Хотя, конечно, паспорт поменьше, чем А5 будет :)

vadimiron 12-03-2007 12:57 560587

Цитата:

Морока та еще, сканер намного лучше картинку дает
Да, это верно. Но есть software, которое вроде под фотоаппараты оптимизировано, например topOCR, но сам я не пробЫвал

pva 13-03-2007 16:55 561144

В общем, почитал, что по этому поводу народ пишет. Пришёл к выводу, что самая страшная проблема - нахождение строчек текста и разбиение на слова и буквы. Честно говоря, не нашёл в этом ничего сложного. Тем более, что в паспоте найти строчки не так трудно.
Обнаружил, что всё-таки ещё есть паспорта, заполненные от руки, но это пренебрежимое исключение. Заполняются данные 2-мя шрифтами: Ариал струйниками/лазерниками и встроенным матричным (больше похож на курьер), с двойной прогонкой строчек.
Почитал, какие есть методы. Почему-то распознаются всё время 2-цветные изображения, хотя я привык работать с полноцветными (оттенки серого). Есть 2 основных метода идентификации символов: свёртка с изображением символа шрифта и трассировка контуров. Ещё, правда, используются нейронные сети (больше для рукописного текста), но на это я не зарюсь (мне столько текста не найти, да и не надо для моих целей).
Так как типы шрифтов внегласно унифицированы, я могу смело применять более точный (но специализированный) метод - сравнение с буквой шрифта.
Короче, систематизировал кучу информации, буду пробовать. А чтобы не перевариться в собственном соку, очень хочу услышать ваше мнение:
1. Как оделять символы друг от друга?
2. Каким методом идентификации символа предпочтительней воспользоваться (или модификацией)?
3. Если ваш паспорт заполнен не рукописно и не матричным принтером, дайте знать (я уже достал всех знакомых этим вопросом)?


Время: 10:20.

Время: 10:20.
© OSzone.net 2001-