¿Hay alguna biblioteca OCR gratuita para Android? [cerrado]

148

Estoy buscando un OCR Java que se ejecute en Android, sin embargo, Asprise no parece ser un OCR independiente de la plataforma. ¿Hay algún OCR Java de código abierto / gratuito que pueda usar para el desarrollo de aplicaciones de Android?

usuario121196
fuente
9
Este cuestionado debe reabrirse, es una pregunta muy importante y válida
Utsav Gupta
55
Google lanzó recientemente una API de OCR: developers.google.com/vision/text-overview
Wirling

Respuestas:

38

OCR puede consumir bastante CPU, es posible que desee reconsiderar hacerlo en un teléfono inteligente.

Aparte de eso, que yo sepa, las bibliotecas populares de OCR son Aspire y Tesseract . Ninguno de los dos es Java, por lo que no obtendrá una biblioteca de OCR de Android.

Sin embargo, Tesseract es de código abierto (GitHub alojado de hecho); para que pueda dedicar algo de tiempo a portar el subconjunto que necesita a Java. Tengo entendido que no es una locura C ++, por lo que, dependiendo de cuánto necesite OCR, podría valer la pena.

Tan breve respuesta: No.

Respuesta larga: si estás dispuesto a trabajar por ello.

Kevin Montrose
fuente
2
al portarlo, ¿te refieres a reescribir el subconjunto en Java? eso podría requerir mucho esfuerzo, por lo que no existe un OCR 100% Java.
user121196
13
Recomendaría intentar envolver Tesseract en una capa JNI a través de Android NDK, en lugar de intentar portarlo a Java de Android. Tesseract ya parece estar portado a ARM, por lo que debería ser más fácil colocar una API JNI encima. Además, esto lo mantiene más rápido (er) de lo que sería cualquier puerto Java, y simplificaría el mantenimiento a largo plazo.
CommonsWare
15
Ya existe una interfaz Tesseract JNI para Java llamada Tessjeract. code.google.com/p/tesjeract
sventechie
1
Tesseract no será una caminata corta de C a Java. El código que he visto es altamente idiomático C de los 80 y no es fácilmente transportable a otros idiomas.
zócalo
2
@vincent desapareció en el último año. La versión JNA ya está disponible: github.com/nguyenq/tess4j pero también una bifurcación de Android: github.com/rmtheis/tess-two
sventechie
21

Tengo mucha suerte con tesseract-android-tools

Ben Pearson
fuente
La pregunta se ha cerrado, pero es bueno encontrar a alguien que haya tenido resultados positivos. Es muy difícil encontrar personas en estos proyectos de tipo sourceforge. Pregunta: ¿probaste Tesseract con escaneos de imágenes de pasaportes o documentos de identidad? Parece estar bien con los PDF de texto, pero estoy luchando con las imágenes.
PKHunter
No lo intenté con nada que tuviera imágenes, solo era un documento con texto (misma fuente, tipo de letra, tamaño)
Ben Pearson
Espero que funcione para mí
Romantic Electron
20

Otra opción podría ser publicar la imagen en una aplicación web (posiblemente en un momento posterior), y hacer que se procese con OCR allí sin los problemas del puerto C ++ -> Java y posiblemente obstruir la CPU móvil.

Jaco
fuente
Muy buena idea: supongo que se refería a un servicio web (asmx) gracias
Omidoo
4

Sí hay.

Pero OCR es muy vasto. Conozco una aplicación de Android que tiene una función de OCR, pero puede que no sea el tipo de OCR que estás buscando.

Esta aplicación de código abierto se llama Aedict , y hace OCR en caracteres japoneses escritos a mano. No es tan lento.

Si no es lo que está buscando, especifique qué tipo de caracteres y qué entrada de datos (imagen o historial táctil XY).

Nicolas Raoul
fuente
2

Puede usar el lector de Google docs OCR .

richardwiden
fuente
Publicado esta respuesta en otra pregunta que se caracterizó como un duplicado de éste así que pensé que podría aswell puesto que aquí
richardwiden
1
Enlace no relevante a la documentación
Volodymyr