Простой ответ ДА, вам просто нужно выбрать правильные инструменты.
Я не знаю, сможет ли когда-нибудь открытый исходный код получить почти 100% -ную точность на этих изображениях, но на основании приведенных здесь ответов, вероятно, да, если вы потратите некоторое время на обучение и решите проблему анализа таблицы и тому подобное.
Когда мы говорим о коммерческом оптическом распознавании символов, таком как ABBYY или другом, он обеспечит вам точность 99% + из коробки и автоматически обнаружит таблицы. Никаких тренировок, ничего, просто работает. Недостатком является то, что вы должны заплатить за это $$. Кто-то может возразить, что за открытый исходный код вы платите время, чтобы его настроить и поддерживать - но каждый сам решает здесь.
Однако, если мы говорим о коммерческих инструментах, на самом деле, у нас больше выбора. И это зависит от того, что вы хотите. Продукты в штучной упаковке, такие как FineReader, фактически нацелены на преобразование входных документов в редактируемые документы, такие как Word или Excell. Поскольку на самом деле вы хотите получать данные, а не документ Word, вам, возможно, придется взглянуть на другую категорию продуктов - сбор данных, который по сути является OCR, и некоторую дополнительную логику для поиска необходимых данных на странице. В случае счета-фактуры это могут быть название компании, общая сумма, срок оплаты, позиции в таблице и т. Д.
Сбор данных является сложным предметом и требует некоторого изучения, но при правильном использовании может обеспечить гарантированную точность при получении данных из документов. Он использует разные правила для перекрестной проверки данных, поиска в базе данных и т. Д. При необходимости он может отправлять данные для ручной проверки. Предприятия широко используют приложения Data Capture для ввода миллионов документов каждый месяц и в значительной степени полагаются на данные, извлекаемые в ходе их повседневной работы.
И, конечно же, есть OCR SDK, который предоставит вам API-доступ к результатам распознавания, и вы сможете программировать, что делать с данными.
Если вы опишите вашу задачу более подробно, я могу дать вам совет, в каком направлении легче идти.
UPDATE
Итак, в основном вы работаете с приложением Data Capture, но не полностью автоматизированы, используя так называемый подход «щелкнуть по индексу». На рынке существует множество подобных приложений: вы сканируете изображения и кликаете оператором по тексту на изображении (или рисуете прямоугольник вокруг него), а затем заполняете поля в базе данных. Это хороший подход, когда количество обрабатываемых изображений относительно невелико, а ручная рабочая нагрузка недостаточно велика, чтобы оправдать стоимость полностью автоматизированного приложения (да, есть полностью автоматизированные системы, которые могут создавать изображения с различным шрифтом, интервалом, макетом, количеством строки в таблицах и т. д.).
Если вы решили разрабатывать что-то и вместо покупки, тогда все, что вам нужно, это выбрать OCR SDK. Весь пользовательский интерфейс, который вы собираетесь написать самостоятельно, верно? Большой выбор - решить: с открытым исходным кодом или коммерческий.
Наилучший открытый исходный код - это Tessseract OCR, насколько я знаю. Это бесплатно, но могут иметь реальные проблемы с анализом таблиц, но при ручном подходе к зонированию это не должно быть проблемой. Что касается точности распознавания текста - люди часто обучают распознавание шрифтов для повышения точности, но это не должно быть для вас, так как шрифты могут отличаться. Так что вы можете просто попробовать тессеракт и посмотреть, какую точность вы получите - это повлияет на количество ручной работы по ее исправлению.
Коммерческое распознавание текста даст более высокую точность, но будет стоить вам денег. Я думаю, что вы все равно должны посмотреть, стоит ли это того, или tesserack достаточно хорош для вас. Я думаю, что самым простым способом было бы загрузить пробную версию некоторого коробочного продукта OCR, такого как FineReader. Тогда вы получите хорошее представление о точности OCR SDK.