Как программно прочитать отсканированный документ или изображение
Я искал в сети, потому что я немного нобб, когда дело доходит до OCR, и я на самом деле не уверен, где будет хорошая отправная точка.
Я хотел бы создать приложение, которое сможет определять и подсчитывать, например, например, сколько флажков заполнено в любой данной строке документа / изображения (это может быть даже другой формат, если кто-то знает что-то, что лучше подойдет приложение этого типа). конечной целью является исключение ручного сбора данных и ускорение процесса получения общей статистики для конечного пользователя приложения
Я кодирую в первую очередь на C#, поэтому предпочтительным будет решение.net, но если нет, я возьму то, что смогу получить.
То, что я имел в виду, было перепроектировать формы, которые пользователи заполняют к чему-то подобному этому. (извините за грубое искусство ASCII:P), поэтому лицо, заполняющее форму, должно только проверить значение на бумаге.
| 1 | 2 | 3 | 4 | 5 |
Product A | [ ] [ ] [ ] [ ] [x] |
Product B | [ ] [ ] [x] [ ] [ ] |
Благодарим за любую идею
Спасибо!
4 ответа
1) Вы также можете проверить бесплатный, но очень эффективный движок Tesseract OCR. Он написан на C++, но вы, вероятно, могли бы использовать C# для простого взаимодействия с ним.
2) Если вы хотите поработать с изображениями самостоятельно, вы можете посмотреть на использование библиотеки EmguCV, которая является оболочкой.NET для OpenCV.
Недавно было опубликовано сообщение о теге opencv, которое пыталось решить проблему, очень похожую на вашу, которая заключалась в обнаружении отметок на карте лото.
Что вам нужно, это оптическое распознавание меток (OMR). Если вы планируете коммерческое программное обеспечение, взгляните на ABBYY FlexiCapture Engine, это SDK для интеграции технологий сбора данных и документов в серверные, настольные и мобильные приложения. Это не бесплатно, но когда дело доходит до бизнеса - это может добавить серьезную ценность вашему продукту.
Вы также можете использовать облачный сервис - веб-сайт, который позволяет загружать изображения и отправлять вам данные OCR. Попробуйте http://www.ocrsdk.com/, это облачный OCR SDK, недавно выпущенный ABBYY. Сейчас он в бета-версии, поэтому он полностью бесплатен. Для устройства конечного пользователя требуется подключение к Интернету, но оно полностью не зависит от вашего выбора языка программирования и ресурсов устройства пользователя. На github можно найти примеры кода .NET и Java.
Отказ от ответственности: я работаю @ ABBYY.
Если все, что вы делаете, это ищите X в коробках, тогда вы можете напечатать форму светло-синим цветом и попросить людей пометить коробки черной ручкой.
Вы просто сканируете изображение и ищите черные пиксели X. Их должно быть относительно легко найти, по сравнению со светло-голубой формой. Конкретные координаты x, y на отсканированном изображении будут соответствовать ответу и типу продукта соответственно.
Вы можете попробовать и использовать библиотеку Office MODI.
Другие варианты
- коммерческая библиотека OCR или
- реализовать собственную логику распознавания растровых изображений (возможно, если у вас есть полный контроль над макетом того, что должно быть отсканировано).