Распознать текст в определенной позиции с помощью камеры Iphone - PullRequest
6 голосов
/ 26 апреля 2011

Я хотел бы разработать приложение, которое сможет распознавать некоторые цифры на распечатанной на компьютере карте (расположенной в фиксированных местах карты) и затем отправлять их в веб-службу.

Я знаю, что яследует использовать оптическое распознавание текста, но я не уверен, какой продукт будет соответствовать моим потребностям.Было бы здорово, если бы вы могли предложить мне какие-либо API-интерфейсы или продукты на рынке (opensource не обязателен, но это будет очень кстати :), которые могут помочь мне в этом проекте.

Кроме того, у меня есть еще один техническийвопрос: вы бы внедрили распознавание OCR в устройстве или сделали бы это с помощью веб-сервиса и позвонили бы ему, передав изображение на него?Каковы плюсы и минусы обеих моделей?

1 Ответ

2 голосов
/ 26 апреля 2011

Если вам нужно решение, которое находит определенные поля на изображении, то это не просто OCR, а задача Data Capture.Существует несколько подходов к решению этой проблемы: напишите свое решение для обнаружения поля на основе результатов распознавания, как было предложено в другом ответе, или используйте специально разработанный для этого инструментарий, предлагающий визуальные инструменты для определения структуры макета.

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

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

Это не тривиально и потребует некоторого времени, чтобы заставить его работать надежно.Но все же выполнимо, если у вас есть не очень сложные документы, и есть только один макет, и это очень предсказуемо.И если у вас есть код, его можно запустить как на сервере, так и на телефоне.

Если вы ищете немного более сложные документы и разнообразные варианты макетов, использование этой логики в чистом коде может стать слишком сложным.В этом случае лучше искать более продвинутые технологии сбора данных.Существует довольно много продуктов Data Captrue, но я знаю только один, который предлагается в форме API: http://www.abbyy.com/flexicapture_engine/

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

Второй компонент - это фактически API.Вы просто подключаете его к своему приложению и загружаете описание шаблона документа.В сценарии мобильного распознавания его можно использовать только в качестве серверной обработки, поскольку он слишком мощный и тяжелый для мобильного устройства.Тем не менее, яркая сторона этого заключается в том, что вам не нужно переносить его на каждую мобильную ОС, она использует полнофункциональную технологию OCR, а не ограниченную, которая подходит для мобильного ресурса.Этот инструментарий включает в себя некоторые передовые технологии обработки изображений, которые улучшают его работу с изображениями, снятыми телефоном.

Отказ от ответственности: я работаю в ABBYY.

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