В поисках лучшего подхода для распознавания текста и символов из таблицы на изображении и экспорта в CSV - PullRequest
2 голосов
/ 15 мая 2019

Я работаю над OCR как часть моего любопытства и интереса, где я пытаюсь извлечь текст, числовые значения и символы из изображения табличных данных, а затем извлекать данные, которые я хочу экспортировать в файл CSV.

Образец Входное изображение выглядит следующим образом

enter image description here

Изображения генерируются из файлов PDF.

Я пытался использовать Tesseract OCR с Java, а также с Python, но после преобразования изображения в текст в извлеченном тексте пропали символы.

Ниже приведен мой пример кода на Java

package com.sk.ocr;

import org.bytedeco.javacpp.*;
import org.bytedeco.leptonica.*;
import org.bytedeco.tesseract.*;

import static org.bytedeco.leptonica.global.lept.*;
import static org.bytedeco.tesseract.global.tesseract.*;

public class PresetsOCR {
    public static void main(String[] args) {
        BytePointer outText;

        TessBaseAPI api = new TessBaseAPI();

        if (api.Init("C:/Program Files/Tesseract-OCR/tessdata", "eng") != 0) {
            System.err.println("Could not initialize tesseract.");
            System.exit(1);
        }

        PIX image = pixRead(args.length > 0 ? args[0] : "C:/tmp/images/sample-2.jpeg");
        api.SetImage(image);

        outText = api.GetUTF8Text();
        System.out.println("OCR output:\n" + outText.getString());

        api.End();
        outText.deallocate();
        pixDestroy(image);
    }
}

Ожидаемый вывод:

OCR output:
Location Requirement Type   Mult    Value   Upper Tol   Lower Tol
S1-D6      R4 ± R5      R           4       +5.0        -5.0
S1-D7     Ꚛ ø0.5 A B C  Ꚛ           0       +5.0        -0.0
S1-D7      ֍ ø0.1 G     ֍           0       +1.0        -0.0

Фактический вывод:

OCR output:
ea eee) ine | SE eave ees
S16 Res 05 R [4 [ +05 [ 05
|st-p7_ | a0 +05 | 00
Teil oe ser fa]

Приведенная выше программа генерирует приблизительно правильный вывод при вводе изображения на английском языкетекст, но не удается, когда изображение содержит табличные данные или специальные символы.

Любые идеи или указатели для дальнейшего рассмотрения приветствуются!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...