OCR con el kit ML de HUAWEI
Published: 2021-03-25 02:44:05

![Alt text of image](https://miro.medium.com/max/1050/1*GjY5hSxXYjdXDWz5p_5nkw.png)

1. Introducción

El reconocimiento óptico de caracteres es la función para detectar y procesar caracteres de un alfabeto determinado. Con el servicio de reconocimiento de texto de HUAWEI, puede extraer texto de imágenes, documentos o cualquier representación impresa de caracteres.

Este servicio se puede ejecutar en la nube o en el dispositivo. Si el servicio necesita escanear caracteres de un idioma basado en chino simplificado, japonés, coreano y latín, el servicio puede usar el reconocimiento de texto del dispositivo.

El servicio en la nube admite idiomas como chino simplificado, inglés, español, portugués, italiano, alemán, francés, ruso, japonés, coreano, polaco, finlandés, noruego, sueco, danés, turco, tailandés, árabe e hindi.

2. Preparativos

Para habilitar el Kit de AA, es necesario seguir estos pasos.
· Inicie sesión en Huawei Developer https://developer.huawei.com/consumer/en/console

![Alt text of image](https://miro.medium.com/max/1050/1*Xd1Lrq3R1_PQE3VvpalQPQ.png)

Acceder a la galería de aplicaciones de HUAWEI
![Alt text of image](https://miro.medium.com/max/1050/1*Xd1Lrq3R1_PQE3VvpalQPQ.png)

Seleccione Mis aplicaciones y luego seleccione la aplicación que desea integrar al servicio.

![Alt text of image](https://miro.medium.com/max/1050/1*Xd1Lrq3R1_PQE3VvpalQPQ.png)

Acceda a la sección Desarrollar y haga clic en Administrar API

![Alt text of image](https://miro.medium.com/max/1050/1*f7BdP8mt-UAScyP9sUmjKg.png)

 Habilitar el Kit de AA

![Alt text of image](https://huawei-latinoamerica.medium.com/ocr-con-el-kit-ml-de-huawei-400c5d515e9b)
Establecer ubicación de almacenamiento

![Alt text of image](https://miro.medium.com/max/700/1*hjU2-7kVjYVA7rsXFu1CZg.png)

Descargue agconnect-services.json y agréguelo en el directorio raíz de la aplicación de su proyecto de Android Studio

![Alt text of image](https://miro.medium.com/max/700/1*hjU2-7kVjYVA7rsXFu1CZg.png)

![Alt text of image](https://miro.medium.com/max/561/1*9oKWWRyvq-K2KtH-aFd65A.png)

Abra el archivo build.gradle en el directorio raíz

· Agregar el maven “maven{url’https://developer.huawei.com/repo/’}” y Classpath “classpath’com.huawei.agconnect:agcp:1.2.1.301’”

Agrega las dependencias de los SDK a tu proyecto

“dependencies{

// Importar el SDK base.

implementation ‘com.huawei.hms:ml-computer-vision-ocr:1.0.3.300’

//Importar el paquete de modelo de idioma basado en latín.

implementation ‘com.huawei.hms:ml-computer-vision-ocr-latin-model:1.0.3.315’

//Importar el paquete de modelos japonés y coreano.

implementation ‘com.huawei.hms:ml-computer-vision-ocr-jk-model:1.0.3.300’

// Importar el paquete de modelos en chino e inglés.

implementation ‘com.huawei.hms:ml-computer-vision-ocr-cn-model:1.0.3.300’

}”

![Alt text of image](https://miro.medium.com/max/700/1*jr4Igq2yVUFZLqp8pckn1g.png)

Agregue la configuración dentro del mismo archivo build.gradle

“apply plugin: ‘com.huawei.agconnect’”

![Alt text of image](https://miro.medium.com/max/700/1*xWwQwOprbcm663kkELHHzw.png)

En el archivo de manifiesto de Android, agregue el siguiente código para permitir que su aplicación actualice automáticamente los últimos modelos de ML en el dispositivo.

```
<manifest
<meta-data
android:name=”com.huawei.hms.ml.DEPENDENCY”android:value= “ocr”/></manifest>
```
![Alt text of image](https://miro.medium.com/max/700/1*K_m3YJbDfzhjeOqH1w7-rA.png)

Desarrollo

Reconocimiento de texto a partir de imágenes en el dispositivo

    Necesita crear MLTextAnalyzer para reconocer texto en imágenes. También configure MLLocalTextSetting para especificar idiomas, si no se especifica ninguno, solo se reconocerán los idiomas basados ​​en el latín

![Alt text of image](https://miro.medium.com/max/700/1*4YQbp8zAU6CVgC9eK8dDNA.png)

Cree el MLFrame utilizando android.graphics. Se admiten imágenes de mapa de bits JPG, JPEG, PNG, BMP.

![Alt text of image](https://miro.medium.com/max/700/1*uGam63JY2nD39Fa2qlIoAQ.png)

![Alt text of image](https://miro.medium.com/max/700/1*zZZy24b7_sejmnxOYFr07g.png)

3. Pase el objeto MLFrame al método asyncAnalyseFrame para el reconocimiento de texto.

![Alt text of image](https://miro.medium.com/max/662/1*VrA4LZkSfInCaYuOGc_8Dw.png)

4. Cuando se complete el reconocimiento, detenga el analizador

![Alt text of image](https://miro.medium.com/max/324/1*yn_i64EHrdUezA-L8tnTmA.png)

Reconocimiento de texto a partir de imágenes en la nube

    Crea un analizador. MLRemoteTextSettings, para especificar los lenguajes que se reconocerán.

![Alt text of image](https://miro.medium.com/max/700/1*dLyAo5PppOK_qTs_p4VERw.png)

2. Cree el MLFrame utilizando android.graphics. Se admiten imágenes de mapa de bits JPG, JPEG, PNG, BMP.

![Alt text of image](https://miro.medium.com/max/700/1*bxLNRyxNCq_t_e0blBEIyw.png)

3. Pase el objeto MLFrame al método asyncAnalyseFrame para el reconocimiento de texto.

![Alt text of image](https://miro.medium.com/max/685/1*_nql_eHXKEz5E1lizcavhA.png)

4. Cuando se complete el reconocimiento, detenga el analizador
![Alt text of image](https://miro.medium.com/max/339/1*TTLD6_lNy5ueyug5Xd5zLw.png)

Reconocimiento de texto de transmisiones de cámara en el dispositivo

Para procesar la transmisión de la cámara en la aplicación, los fotogramas de la cámara se convierten en objetos MLFrame y esto reconoce el texto mediante el método de reconocimiento de imágenes estáticas locales.

    Cree un analizador MLTextAnalyzer y configure el procesador de resultados de detección

4. Cuando se complete el reconocimiento, detenga el analizador
![Alt text of image](https://miro.medium.com/max/698/1*srpt9HFeEoRBa7hZinPwWw.png)
2. Cree la clase OcrDetectorProcessor para procesar los resultados.
![Alt text of image](https://miro.medium.com/max/1050/1*2hEVv2cA6x-dwN4qWMDUDA.png)

3. Llame a la API síncrona para utilizar el LensEngine integrado del SDK para crear un objeto, registrar el analizador e inicializar los parámetros de la cámara.

![Alt text of image](https://miro.medium.com/max/1050/1*teC8xz_TBsSU63z2jVmIew.png)

4. Llame al método de ejecución para iniciar la cámara y leer las transmisiones de la cámara para su reconocimiento.

![Alt text of image](https://miro.medium.com/max/854/1*2uLOTnDCeE8c3tBUtnQsrA.png)
5. Cuando se complete el reconocimiento, detenga el analizador.
![Alt text of image](https://miro.medium.com/max/567/1*AgXTFO38OsTbIWrVLrzJwA.png)