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

Я использовал tess4j, но не получил правильного результата. ниже мой код.

 public static String crackImage(String filePath) {


  BufferedImage img = null;
  try {
      img = ImageIO.read(new File(filePath));
  } catch (IOException e) {
  }
    ITesseract instance = new Tesseract();
    instance.setLanguage("eng");
  //  instance.setPageSegMode((3));
 img=  ImageHelper.convertImageToGrayscale(img);
    instance.setDatapath("C:\\tessdata");

    try {
        String result = instance.doOCR(img);
        return result;
    } catch (TesseractException e) {
        System.err.println(e.getMessage());
        return "Error while reading image";
    }
}

Я прикрепил образец изображения.

Стандартное изображение

МОЙ вывод:

рука м манера: а; человек

mfl/Vemmnh 1951 мм 8221 11м 3521|\|\|II\IIIIIIHIIIIIHIIIH

подонки — WWW

%‘

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


person user5747838    schedule 27.12.2018    source источник


Ответы (1)


вот лучшая практика,

вам нужно выполнить обработку изображений, которую вы предпочитаете использовать (OpenCV) перед запуском этой команды tess4j. https://github.com/tesseract-ocr/tesseract/wiki/ImproveQuality

или вы можете выбрать Google Ml KIT

https://firebase.google.com/docs/ml-kit/recognize-text

person Himesh goswami    schedule 27.12.2018