Gibt es eine kostenlose OCR-Bibliothek für Android? [geschlossen]

148

Ich suche nach einer Java-OCR, die auf Android läuft, aber Asprise scheint keine plattformunabhängige OCR zu sein. Gibt es OpenSource / Free Java OCR, die ich für die Entwicklung von Android-Anwendungen verwenden kann?

user121196
quelle
9
Diese Frage sollte wieder geöffnet werden. Es ist eine sehr wichtige und gültige Frage
Utsav Gupta
5
Google hat kürzlich eine OCR-API veröffentlicht: developer.google.com/vision/text-overview
Wirling

Antworten:

38

OCR kann sehr CPU-intensiv sein. Vielleicht möchten Sie es auf einem Smartphone noch einmal überdenken.

Abgesehen davon sind meines Wissens die beliebten OCR-Bibliotheken Aspire und Tesseract . Weder sind direkt Java, so dass Sie keine Drop-In-Android-OCR-Bibliothek erhalten.

Tesseract ist jedoch Open Source (von GitHub gehostetes Infact). Sie können also einige Zeit darauf verwenden, die benötigte Teilmenge nach Java zu portieren. Meines Wissens nach ist C ++ nicht verrückt. Je nachdem, wie dringend Sie OCR benötigen, ist es möglicherweise die Zeit wert.

So kurze Antwort: Nein.

Lange Antwort: Wenn Sie bereit sind, dafür zu arbeiten.

Kevin Montrose
quelle
2
Mit Portieren meinen Sie, die Teilmenge in Java neu zu schreiben? Das könnte viel Mühe kosten, also gibt es keine 100% Java OCR da draußen?
user121196
13
Ich würde empfehlen, Tesseract über Android NDK in eine JNI-Ebene zu packen, anstatt zu versuchen, es auf Android Java zu portieren. Tesseract scheint bereits auf ARM portiert zu sein, daher sollte es einfacher sein, eine JNI-API darauf zu platzieren. Dies hält es auch schneller (er) als jeder Java-Port und würde die langfristige Wartung vereinfachen.
CommonsWare
15
Es gibt bereits eine Tesseract JNI-Schnittstelle für Java namens Tessjeract. code.google.com/p/tesjeract
sventechie
1
Tesseract ist kein kurzer Spaziergang von C nach Java. Der Code, den ich gesehen habe, ist sehr idiomatisch 80er C und nicht leicht in andere Sprachen zu transportieren.
Sockel
2
@ Vincent ist im letzten Jahr verschwunden. JNA-Version ist jetzt verfügbar: github.com/nguyenq/tess4j, aber auch eine Android-Gabel: github.com/rmtheis/tess-two
sventechie
21

Ich habe ziemlich viel Glück mit Tesseract-Android-Tools

Ben Pearson
quelle
Die Frage wurde geschlossen, aber es ist gut, jemanden zu finden, der positive Ergebnisse erzielt hat. Es ist sehr schwer, Leute in diesen Projekten vom Typ SourceForge zu finden. Frage: Haben Sie Tesseract mit Bildscans von Pässen oder Ausweisdokumenten ausprobiert? Es scheint in Ordnung mit Text-PDFs, aber ich habe Probleme mit Bildern.
PKHunter
Ich habe es nicht mit irgendetwas versucht, auf dem Bilder waren, es war nur ein Dokument mit Text (gleiche Schriftart, Schriftart, Größe)
Ben Pearson
Ich hoffe, es funktioniert für mich
Romantic Electron
20

Eine andere Möglichkeit könnte darin bestehen, das Image (möglicherweise zu einem späteren Zeitpunkt) in einer Webanwendung zu veröffentlichen und dort OCR-verarbeitet zu lassen, ohne dass Probleme mit dem C ++ -> Java-Port auftreten und möglicherweise die mobile CPU verstopft.

Jaco
quelle
Sehr gute Idee: Ich
gehe
4

Ja da ist.

Aber OCR ist sehr groß. Ich kenne eine Android-Anwendung mit einer OCR-Funktion, aber das ist möglicherweise nicht die Art von OCR, nach der Sie suchen.

Diese Open-Source-Anwendung heißt Aedict und führt OCR für handgeschriebene japanische Zeichen durch. Es ist nicht so langsam.

Wenn es nicht das ist, wonach Sie suchen, geben Sie bitte genau an, welche Art von Zeichen und welche Daten eingegeben werden (Bild- oder XY-Touch-Verlauf).

Nicolas Raoul
quelle
2

Sie können den Google Docs OCR Reader verwenden .

richardwiden
quelle
Hat diese Antwort auf eine andere Frage gepostet, die als Duplikat dieser Frage markiert war, also dachte ich, ich könnte sie auch hier
posten
1
Nicht relevanter Link zur Dokumentation
Volodymyr