Как получить лучший результат при использовании Tesseract при получении? - PullRequest
0 голосов
/ 02 октября 2019

Я создаю приложение на Java, которое сканирует квитанции и извлекает весь текст, используя OCR с библиотекой tesseract. Я запустил программу на 2 изображениях, одно из которых я взял, а другое из Интернета, и я получил почти идеальный результат с этим из Интернета, но получил случайную строку из моего изображения. Как мне это изменить? Нужно ли мне изображение идеального качества в высоком разрешении?

Я пытался получить более качественные изображения, даже изображения, содержащие всего одно слово, и ничего не получил.

Tesseract instance = new Tesseract();
instance.setDatapath(pathToMyTessData); 
instance.setLanguage("fra");

String result = instance.doOCR(new File(myReceiptFile));
System.out.println(result);

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

PS: мой билет выглядит как это

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Вы, вероятно, пропустите эту тему SO обработка изображений для повышения точности распознавания текста в тессеракте

Если вы хотите получить идеальный результат, возможно, вам потребуется выполнить анализ пользовательского макета, чтобы вы могли отправитьчтобы тессеракт состоял из текстовой области (=> одинакового размера шрифта).

0 голосов
/ 02 октября 2019

Может быть, вам стоит потренировать свой тессеракт, об этом есть еще один пост. здесь

...