Aplicación de reconocimiento de texto con Google ML Kit – Android | Autor: Mihir Shah | Diciembre de 2021
En este blog, mostraré cómo hacer una aplicación de reconocimiento de texto simple y efectiva usando los siguientes métodos Kit de herramientas de aprendizaje automático de Google En Android.
Primero, necesitas un proyecto vacío. Puede usar Kotlin / Java, pero usaré Kotlin para la demostración.
Puede encontrar una aplicación de demostración aquí
- En su archivo build.gradle a nivel de proyecto, asegúrese de incluir el repositorio Maven de Google en las secciones de buildscript y allprojects.
MavenCentral ()
2. Agrega las dependencias de la biblioteca de Android del Kit de AA al archivo gradle a nivel de la aplicación de tu módulo, que generalmente es app / build.gradle:
confiar{
Implementar’com.google.android.gms: play-services-mlkit-text-Recognition: 17.0.0 ‘
}
Este paso es opcional, pero recomendado por Google.Te ayudará a mejorar el rendimiento de tu aplicación.
Puedes configurar tu aplicación como auToneladaDespués de instalar la aplicación desde Play Store, el modelo ML se descarga automáticamente en el dispositivo. Para hacer esto, agregue la siguiente declaración al archivo AndroidManifest.xml de su aplicación:
android: value = «ocr» />
Tus dependencias están listas.
Primero, comprendamos mejor las clases y funciones que usaremos para esta demostración. La mayoría de ellos provienen de dependencias del kit de ML de Google.
- Reconocedor de texto: La tarea principal de esta clase es detectar realmente el texto en la clase de marco obtenido del mapa de bits (foto).Lo usamos
detect()
yBuilder()
Funciones en este tutorial. - marco: El marco lo crea la clase de constructor, que recibe el mapa de bits y especifica los datos de la imagen, el tamaño y la información de clasificación. Luego pase este marco a TextRecognizer de la siguiente manera
detect()
método. - Generador de cadenas: Usaremos esta clase de Android incorporada para adjuntar el bloque de texto que obtendremos de TextRecognizer, devuelve un SparseArray, se iterará y se usará cada valor
append()
método. - Bloque de texto: Es un párrafo de texto detectado por el motor de OCR, que es un párrafo o texto continuo.
Entonces, ahora que conocemos las clases y funciones involucradas, hagámoslo.
Aquí, no nos ocuparemos de cómo obtener el mapa de bits de la cámara o la galería.
Asumiremos que tenemos un mapa de bits.
Esta línea de código realmente inicializa el reconocedor
val Recognizer = TextRecognizer.Builder (esto) .build ()
puedes usarlo
recognizer.isOperational
método
Esta línea de código inicializa nuestro marco mapa de bits:
val frame = Frame.Builder (). setBitmap (mapa de bits) .build ()
A continuación, ejecutaremos el algoritmo de detección.
val stringish = reconocedor. detección (marco)
aquí stringish
Es el tipo SparseArray
Ahora, para convertirlo en una cuerda, necesitamos algunos pasos.
val stringBuilder = StringBuilder ()
Variable i = 0
Cuando yo
Yo ++
val textBlock = stringish.valueAt (i)
stringBuilder.append (textBlock.value)
stringBuilder.append (“ n”)
}
Aquí básicamente usamos StringBuilder
Individuo adicional TextBlocks
desde SparseArray
Y n es para la sangría adecuada.
Ahora simplemente convierta stringBuilder a String:
stringBuilder.toString ()
Boom Ese es el texto que reconoces.
Este es un gran proyecto, muestra tu currículum a tus amigos y familiares, hazlo y muéstrame algo de amor a través de tu reacción al artículo.
Gracias y que tenga un buen día.