Existe-t-il une bibliothèque OCR gratuite pour Android? [fermé]

148

Je recherche un OCR Java qui fonctionne sur Android, mais Asprise ne semble pas être un OCR indépendant de la plate-forme. existe-t-il un OCR Java OpenSource / gratuit que je peux utiliser pour le développement d'applications Android?

user121196
la source
9
Cette question devrait être rouverte, c'est une question très importante et valide
Utsav Gupta
5
Google a récemment publié une API OCR: développeurs.google.com
vision

Réponses:

38

L'OCR peut être assez gourmand en CPU, vous voudrez peut-être reconsidérer le faire sur un téléphone intelligent.

Cela mis à part, à ma connaissance, les bibliothèques OCR populaires sont Aspire et Tesseract . Il n'y a pas non plus de Java, vous n'obtiendrez donc pas une bibliothèque OCR Android intégrée.

Cependant, Tesseract est open source (en fait hébergé sur GitHub); vous pouvez donc consacrer du temps au portage du sous-ensemble dont vous avez besoin vers Java. Je crois comprendre que ce n'est pas un C ++ insensé , donc en fonction de la gravité de votre besoin d'OCR, cela peut valoir la peine.

Réponse si courte: Non.

Réponse longue: si vous êtes prêt à y travailler.

Kevin Montrose
la source
2
en le portant, voulez-vous dire réécrire le sous-ensemble en Java? cela peut demander beaucoup d'efforts, il n'y a donc pas d'OCR 100% Java?
user121196
13
Je recommanderais d'essayer d'envelopper Tesseract dans une couche JNI via Android NDK, plutôt que d'essayer de le porter sur Java d'Android. Tesseract semble déjà être porté sur ARM, il devrait donc être plus facile de mettre une API JNI dessus. De plus, cela le maintient plus rapide que n'importe quel port Java, et simplifierait la maintenance à long terme.
CommonsWare
15
Il existe déjà une interface Tesseract JNI pour Java appelée Tessjeract. code.google.com/p/tesjeract
sventechie
1
Tesseract ne sera pas à quelques pas de C à Java. Le code que j'ai vu est très idiomatique en C des années 80 et n'est pas facilement transportable dans d'autres langues.
plinthe
2
@vincent a disparu l'année dernière. La version JNA est maintenant disponible: github.com/nguyenq/tess4j mais aussi un fork d'Android: github.com/rmtheis/tess-two
sventechie
21

J'ai beaucoup de chance avec tesseract-android-tools

Ben Pearson
la source
La question est close, mais il est bon de trouver quelqu'un qui a eu des résultats positifs. Il est très difficile de trouver des personnes sur ces projets de type sourceforge. Question: avez-vous essayé Tesseract avec des numérisations d'images de passeports ou de documents d'identité? Cela semble correct avec les PDF texte, mais j'ai du mal avec les images.
PKHunter
Je ne l'ai pas essayé avec quoi que ce soit qui contenait des images, c'était juste un document avec du texte (même police, police, taille)
Ben Pearson
J'espère que ça marche pour moi
Romantic Electron
20

Une autre option pourrait être de publier l'image sur une application Web (éventuellement plus tard), et de la faire traiter par OCR là-bas sans les problèmes de port C ++ -> Java et éventuellement obstruer le processeur mobile.

Jaco
la source
très bonne idée: DI suppose que vous vouliez dire un service Web (asmx) merci
Omidoo
4

Oui il y a.

Mais l'OCR est très vaste. Je connais une application Android dotée d'une fonction OCR, mais ce n'est peut-être pas le type d'OCR que vous recherchez.

Cette application open-source s'appelle Aedict et effectue l'OCR sur les caractères japonais manuscrits. Ce n'est pas si lent.

Si ce n'est pas ce que vous recherchez, veuillez préciser quel type de caractères et quelle entrée de données (image ou historique tactile XY).

Nicolas Raoul
la source
2

Vous pouvez utiliser le lecteur OCR google docs .

Richardwiden
la source
J'ai posté cette réponse sur une autre question qui a été marquée comme un double de celle-ci, alors j'ai pensé que je pourrais aussi la poster ici
richardwiden
1
Lien non pertinent vers la documentation
Volodymyr