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.
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.
¿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
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