Использование 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. Все, что вам нужно сделать, это
- Получите упаковщик tess4j jni для тессеракта.
- Откройте проект tess4j в вашем ide и добавьте исходные пакеты и библиотеки в свои собственные
проект. - Напишите код, создающий экземпляр для класса 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/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>