Использование Tesseract из Java

Я пытаюсь создать пример приложения в Java, который будет читать файл изображения и просто выводить текст, извлеченный из изображения. Я нашел проект Тессеракта, который кажется многообещающим, однако, его в C++. Чтобы использовать его, я должен просто запустить его как командную строку из моего приложения Java Runtime.exec(...)? Или есть лучшее решение, может быть, JAR? Кроме того, это всего лишь пример приложения, будет ли запуск его в качестве приложения командной строки проблемой с точки зрения масштабируемости?

6 ответов

Теперь tesseract предоставляется проектом javacv, это гораздо лучший вариант, чем использование Tess4J, поскольку все, что требуется, - это добавить одну зависимость в ваш pom-файл, после чего нативные библиотеки для вашей платформы будут автоматически загружены и связаны с вами. Javacv Тессеракт версия.

Я создал пример проекта Maven здесь - https://github.com/piersy/BasicTesseractExample

а также пример проекта Gradle здесь - https://github.com/piersy/BasicTesseractExampleGradle

Чтобы это работало на моей машине с Ubuntu, мне нужно было обновить мою версию libstdC++6.

Я добился этого, выполнив следующее, хотя простая установка libstdC++6 может помочь вам.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test 
sudo apt-get update
sudo apt-get install libstdc++6

Обратите внимание, что gradle-проект не выполняет автоматическую установку, но он все же намного проще, чем использование Tess4J.

Проект javacv находится здесь - https://github.com/bytedeco/javacpp-presets/tree/master/tesseract

Большое спасибо ребятам из javacv, только жаль, что я не нашел это раньше, так как это избавило бы меня от недели для работы tess4j на нескольких платформах!

Я использовал проект tesseract в своем коде Java. Все, что вам нужно сделать, это

  1. Получите упаковщик tess4j jni для тессеракта.
  2. Откройте проект tess4j в вашем ide и добавьте исходные пакеты и библиотеки в свои собственные
    проект.
  3. Напишите код, создающий экземпляр для класса tesseract, а затем используйте его для
    выполнение OCR.

Пожалуйста, посмотрите на этот http://tphangout.com/?p=18

В нем приводятся инструкции о том, как создать Java-проект для чтения изображения и преобразования его в текст с использованием OCR API-интерфейса tesseract.

Вы пробовали tess4j: http://tess4j.sourceforge.net/.

Это JNI-оболочка из тессеракта для окон.

Я разветвил Basic Git Repo и обновил его, чтобы он мог быть совместим с версией Tesseract-ocr (4.xx) и версией bytedeco javacpp-presets (1.4.3).

https://github.com/asmmahmud/BasicTesseractExampleVer4

Только что попробовал https://github.com/piersy/BasicTesseractExample

вот скриншот

похоже, это работает, используя только одну зависимость от этого:

<dependency>
      <groupId>org.bytedeco.javacpp-presets</groupId>
      <artifactId>tesseract</artifactId>
      <version>3.03-rc1-0.11</version>
</dependency>

который находится здесь: https://github.com/bytedeco/javacpp-presets/tree/master/tesseract

ура Коррадо

Я использовал это, как проверить тост сообщения с помощью Appium?

с этим

    <dependency>
        <groupId>net.sourceforge.tess4j</groupId>
        <artifactId>tess4j</artifactId>
        <version>3.2.1</version>
    </dependency>
Другие вопросы по тегам