Как извлечь конкретный текст из изображения

На следующем изображении я хочу извлечь номер под текстом Arzt-Nr (654321161).
Я использовал OCR-ридер, но он извлекает тексты случайным образом не в последовательности, что затрудняет добавление логики для извлечения не ниже "Арцт-Нр".

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

 String text = "";
            for (int i = 0; i < detectedItems.size(); i++) {
                TextBlock item = detectedItems.valueAt(i);
                String detectedText = item.getValue();
                List<Line> lines = (List<Line>) item.getComponents();
                for (Line line : lines) {
                    List<Element> elements = (List<Element>) line.getComponents();
                    for (Element element : elements) {
                        String word = element.getValue();
                        text = text + " " + word;

                    }
                    text += "\n";
                }
            }

введите здесь описание изображения


person Ragini    schedule 15.11.2018    source источник


Ответы (2)


Попробуйте проверить фиксированную длину слов после позиции «Arzt-Nr», попробуйте также проверить образец слова, основанного.. например, если вам нужны только цифры и т. д.

person Alesandro Giordano    schedule 15.11.2018

Извлеките вывод изображения в формате tsv с помощью tesseract и найдите ближайший текст ниже местоположения ключевого слова. Также взгляните на режимы сегментации страниц tesseract.

Ссылка на Создание tsv Ссылка для использования сегментация страницы

person Rajat Paliwal    schedule 16.11.2018