![]() |
Распознавание текста (OCR)
В общем, стукнуло меня в голову переложить очередную часть работы моих любимых сотрудников в моей любимой конторе на могучие плечи роботехники. Есть мысль автоматизировать ввод паспортных данных при помощи сканера или фотоаппарата. Если часть вопросов окажется не по теме - прошу модераторов не обижаться *SORRY*.
1. Если у кого в паспорте основные данные записаны от руки (а не принтером), дайте знать, пожалуйста 2. Посоветуйте метод (любой), лучше, если есть ссылки на теорию (в библиотеку идти неохота) Задача: распознать слово, с очень небольшим уровнем шума, написанное неизвестным шрифтом в заданном прямоугольнике на картинке. Текст может включать русские или английские буквы и цифры (ну паспорт то все ведь видели). Подогнать изображение в нужный прямоугольник - это я умею. 3. За полезное сотрудничество могу поделиться результатом (dll). За очень полезное - исходниками (пишу на с++, приятным стилем, собирается почти любым компилятором) |
pva
Не знаю, как самому писать, но мы пользуемся уже готовыми утилитами (конечно платные), которые либо сканируют весь документ и мы потом разбираем результаты, или другой тип программ: создаётся средствами программы форма с указанием какие где поля будут, и программа далее сканирует эти регионы и возвращает результат Из бесплатного могу посоветовать проект simpleOCR, gocr(jocr) |
Цитата:
|
Цитата:
|
В общем, почитал, что по этому поводу народ пишет. Пришёл к выводу, что самая страшная проблема - нахождение строчек текста и разбиение на слова и буквы. Честно говоря, не нашёл в этом ничего сложного. Тем более, что в паспоте найти строчки не так трудно.
Обнаружил, что всё-таки ещё есть паспорта, заполненные от руки, но это пренебрежимое исключение. Заполняются данные 2-мя шрифтами: Ариал струйниками/лазерниками и встроенным матричным (больше похож на курьер), с двойной прогонкой строчек. Почитал, какие есть методы. Почему-то распознаются всё время 2-цветные изображения, хотя я привык работать с полноцветными (оттенки серого). Есть 2 основных метода идентификации символов: свёртка с изображением символа шрифта и трассировка контуров. Ещё, правда, используются нейронные сети (больше для рукописного текста), но на это я не зарюсь (мне столько текста не найти, да и не надо для моих целей). Так как типы шрифтов внегласно унифицированы, я могу смело применять более точный (но специализированный) метод - сравнение с буквой шрифта. Короче, систематизировал кучу информации, буду пробовать. А чтобы не перевариться в собственном соку, очень хочу услышать ваше мнение: 1. Как оделять символы друг от друга? 2. Каким методом идентификации символа предпочтительней воспользоваться (или модификацией)? 3. Если ваш паспорт заполнен не рукописно и не матричным принтером, дайте знать (я уже достал всех знакомых этим вопросом)? |
Время: 10:20. |
Время: 10:20.
© OSzone.net 2001-