Мне нужно вытащить два предварительно напечатанных (не рукописных) поля из бумажной формы, чтобы они могли автоматически перенаправляться после сканирования . Поля содержат идентификаторы партии и позиции, такие как «GG-9192» или «EPN / 245G».
Я пробовал следующее программное обеспечение:
- Тессеракт-OCR
- Cuneiform
- Canon ImageRunner встроенный OCR
- API-интерфейс Asprise OCR Java (демо)
Я пробовал следующие настройки:
- Сканирование с разрешением 300 точек на дюйм и 600 точек на дюйм
- Пробовал разные шрифты, включая OCR-A и OCR-B.
Во всех случаях вывод был практически повсеместным. Я могу отбросить документы, для которых не могу должным образом извлечь необходимую информацию, но думаю, что это будет как минимум половина из них. Я рассмотрел некоторую нечеткую логику, основанную на известных значениях в базе данных, но иногда эти идентификаторы могут отличаться на один символ, например «123G» и «123C».
Является ли это безнадежным делом? Возможно, OCR просто недостаточно развит, чтобы справиться с требованиями такого рода? Какие еще методы вы можете порекомендовать? Штрихкоды?
Редактировать: содержащее приложение написано на Java, поэтому любые рекомендации, для которых существуют бесплатные или дешевые API на основе Java, могут помочь.
Редактировать 2: если кому-то интересно ... без какой-либо специальной настройки, Cuneiform для Linux и Canon ImageRunner сработали лучше всего, а Tesserect-OCR и Asprise Java API дали худшие результаты ... ни один из четырех не был приемлем для что угодно, кроме стандартного распознавания документов с поиском. Я начинаю думать, что это не сработает.