Integración ultra simple de la capacidad de superresolución de texto del HMS ML Kit, con un clic para mejorar la resolución del texto

Prefacio

¿Alguna vez te has encontrado con una situación así? Cuando navegaste por Weibo o la cuenta oficial, viste un texto interesante, así que envié una captura de pantalla a Moments para compartirla con mis amigos. Sin embargo, al publicar imágenes, el software comprimirá a la fuerza las imágenes, lo que hará que la resolución de la imagen disminuya y el texto se vuelva borroso y difícil de leer. Entonces, ¿hay alguna forma de resolver esta situación? Por supuesto que sí. El kit HUAWEI HMS ML proporciona tecnología de superdivisión de texto, que puede superar la limitación física de la resolución del texto en la imagen y ampliar la imagen que contiene el contenido del texto 9 veces (3 veces la longitud y el ancho), al tiempo que mejora significativamente la claridad del texto en la imagen. Y la capacidad de reconocimiento, resuelve fácilmente el problema de la baja resolución del texto en las imágenes.

Escenario de aplicación

La tecnología de superdivisión de texto tiene muchos escenarios de aplicación en la vida. Por ejemplo, cuando las capturas de pantalla publicadas por Moments of Friends están comprimidas, la tecnología de superdivisión de texto puede restaurar las capturas de pantalla a alta definición.
Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquíInserte la descripción de la imagen aquí
O cuando se vuelve a fotografiar el documento, el texto capturado no es claro debido a la larga distancia, desenfocado, etc. La tecnología de superdivisión de texto puede mejorar la claridad y el reconocimiento del documento reproducido y aclarar las palabras del documento.

Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquí

¿Cómo es, es muy práctico? A continuación, se ofrece una breve introducción a cómo integrar el servicio de superdivisión de texto del Kit de AA de HMS.

Combate de desarrollo

1. Configurar la dirección del almacén de Maven

1.1 Abra el archivo "build.gradle" de nivel de proyecto de Android Studio

Inserte la descripción de la imagen aquí

1.2 Agregue el complemento HUAWEI agcp y la base de código Maven.
Configure la dirección del repositorio de Maven del HMS Core SDK en todos los proyectos -> repositorios.

allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
 }

Configure la dirección del repositorio de Maven del HMS Core SDK en buildscript-> repositories.

buildscript {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
 }

2. Integrar el SDK del servicio de superresolución de imágenes y texto

2.1 Integración completa con SDK (recomendado)

dependencies{ 
    // 引入基础SDK
    Implementation 'com.huawei.hms:ml-computer-vision-textimagesuperresolution:2.0.3.300'
    // 引入文字图像超分辨率模型包
    implementation 'com.huawei.hms:ml-computer-vision-textimagesuperresolution-model:2.0.3.300'
}

2.2 Configuración de agregar encabezado de archivo

apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'

2.3 Actualizar el modelo de aprendizaje automático

<meta-data            
        android:name="com.huawei.hms.ml.DEPENDENCY" 
        android:value= "tisr"/>

3. Desarrollo de código

3.1 Crear un analizador de superresolución de imágenes de texto

MLTextImageSuperResolutionAnalyzer analyzer = MLTextImageSuperResolutionAnalyzerFactory.getInstance().getTextImageSuperResolutionAnalyzer();

3.2 Construya MLFrame a través de android.graphics.Bitmap (tenga en cuenta que el tipo de mapa de bits aquí debe ser ARGB8888, preste atención a la conversión necesaria)

// 通过bitmap创建MLFrame,bitmap为输入的图片数据。
MLFrame frame = new MLFrame.Creator().setBitmap(bitmap).create();

3.3 Procesamiento de superresolución de imágenes que contienen texto

Task<MLTextImageSuperResolutionResult> task = analyzer.asyncAnalyseFrame(frame);
task.addOnSuccessListener(new OnSuccessListener<MLTextImageSuperResolutionResult>() {
    public void onSuccess(MLTextImageSuperResolutionResult result) {
        // 超分成功的处理逻辑。
    }})
    .addOnFailureListener(new OnFailureListener() {
        public void onFailure(Exception e) {
            // 超分失败的处理逻辑。
            if (e instanceof MLException) {
                MLException mlException = (MLException)e;
                // 获取错误码,开发者可以对错误码进行处理,根据错误码进行差异化的页面提示。
                int errorCode = mlException.getErrCode();
                // 获取报错信息,开发者可以结合错误码,快速定位问题。
                String errorMessage = mlException.getMessage();
            } else {
                // 其他异常。
        }
});

3.4 Una vez completada la puntuación excesiva, detenga el analizador y libere los recursos de detección

if (analyzer != null) {
    analyzer.stop();
}

Dirección de Github

Vea el código fuente de la demostración: https://github.com/HMS-Core/hms-ml-demo/tree/master/MLKit-Sample/module-vision/src/main/java/com/huawei/mlkit/sample/activity

Para obtener pautas de desarrollo más detalladas, consulte el sitio web oficial de Huawei Developer Alliance

https://developer.huawei.com/consumer/cn/hms/huawei-mlkit

Para obtener más detalles, consulte:

Sitio web oficial de Huawei Developer Alliance:https://developer.huawei.com/consumer/cn/hms

Obtenga documentos de orientación de desarrollo:https://developer.huawei.com/consumer/cn/doc/development

Para participar en las discusiones de los desarrolladores, vaya a la comunidad de Reddit:https://www.reddit.com/r/HMSCore/

Para descargar la demostración y el código de muestra, vaya a Github:https://github.com/HMS-Core

Para resolver problemas de integración, vaya a Stack Overflow:https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


Enlace original:
https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203349782674210504&fid=18
Autor: dejar hojas

Supongo que te gusta

Origin blog.51cto.com/14772288/2542144
Recomendado
Clasificación