J'essaie de créer un exemple d'application en Java qui lira un fichier image et produira simplement le texte extrait de l'image. J'ai trouvé le projet Tesseract qui semble prometteur, cependant, c'est en c ++. Pour l'utiliser, dois-je simplement l'exécuter en tant que ligne de commande à partir de mon application Java Runtime.exec(...)
? Ou y a-t-il une meilleure solution, peut-être un JAR? En outre, il ne s'agit que d'un exemple d'application. Son utilisation en tant qu'application en ligne de commande serait-elle une préoccupation du point de vue de l'évolutivité?
Maintenant, tesseract est fourni par le projet javacv, il s’agit d’une bien meilleure option que celle d’utiliser Tess4J puisqu’il suffit d’ajouter une seule dépendance à votre fichier pom. Les bibliothèques natives de votre plate-forme seront ensuite téléchargées et liées automatiquement pour vous par le serveur. version javacv tesseract.
J'ai créé un exemple de projet maven ici - https://github.com/piersy/BasicTesseractExample
et aussi un exemple de projet ici - https://github.com/piersy/BasicTesseractExampleGradle
Pour que cela fonctionne sur ma machine Ubuntu, je devais mettre à jour mon installation de libstdc ++ 6.
J'ai réalisé ceci en exécutant ce qui suit, bien que l'installation de libstdc ++ 6 puisse fonctionner pour vous.
Sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Sudo apt-get update
Sudo apt-get install libstdc++6
Notez que le projet gradle n’effectue pas l’installation automatique mais reste un peu plus simple que d’utiliser Tess4J
Le projet javacv est ici - https://github.com/bytedeco/javacpp-presets/tree/master/tesseract
De gros accessoires pour les gars de javacv, j'aurais seulement regretté de ne pas l'avoir trouvé plus tôt, car cela m'aurait évité une semaine de travail de tess4j sur plusieurs plates-formes!
J'ai utilisé le projet tesseract dans mon code Java. Tout ce que vous devez faire c'est
S'il vous plaît jeter un oeil dans ce http://tphangout.com/?p=18
Il explique comment créer un projet Java pour lire une image et la convertir en texte à l'aide de l'API OCR de tesseract.
Avez-vous essayé tess4j: http://tess4j.sourceforge.net/ .
C'est le wrapper JNI de tesseract pour Windows.
J'ai créé le Basic Git Repo et je l'ai mis à jour pour qu'il soit compatible avec la version de Tesseract-ocr (4.x.x) et la version de bytedeco javacpp-presets (1.4.3).
je viens d'essayer https://github.com/piersy/BasicTesseractExample
on dirait que cela fonctionne, en utilisant juste une dépendance à ceci:
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>tesseract</artifactId>
<version>3.03-rc1-0.11</version>
</dependency>
qui est ici: https://github.com/bytedeco/javacpp-presets/tree/master/tesseract
à la vôtre corrado