Integração ultra-simples da capacidade de super-resolução de texto do HMS ML Kit, com um clique para melhorar a resolução do texto

Prefácio

Você já se deparou com essa situação? Quando você navegou no Weibo ou na conta oficial, viu um texto interessante, então enviei uma captura de tela para o Moments para compartilhar com meus amigos. No entanto, ao publicar imagens, o software forçará a compactação das imagens, fazendo com que a resolução da imagem caia e o texto fique borrado e difícil de ler. Existe alguma maneira de resolver essa situação? Claro que existe. O kit Huawei HMS ML fornece tecnologia de superdivisão de texto, que pode romper as limitações físicas da resolução do texto na imagem e aumentar a imagem com conteúdo de texto em 9 vezes (3 vezes o comprimento e a largura) e aumentar significativamente a clareza do texto na imagem E reconhecibilidade, resolvem facilmente o problema de baixa resolução de texto em fotos.

Cenário de aplicação

A tecnologia de superdivisão de texto tem muitos cenários de aplicação na vida. Por exemplo, quando as imagens publicadas por Moments of Friends são compactadas, a tecnologia de superdivisão de texto pode restaurar as imagens para alta definição.
Insira a descrição da imagem aquiInsira a descrição da imagem aquiInsira a descrição da imagem aqui
Ou quando o documento é fotografado novamente, o texto capturado não fica claro devido à longa distância, desfocado e outros motivos. A tecnologia de superdivisão de texto pode melhorar a clareza e a capacidade de reconhecimento do documento reproduzido e tornar as palavras do documento claras.

Insira a descrição da imagem aquiInsira a descrição da imagem aqui

Como é, é muito prático? Aqui está uma breve introdução sobre como integrar o serviço de superdivisão de texto do HMS ML Kit.

Combate de desenvolvimento

1. Configure o endereço do armazém Maven

1.1 Abra o arquivo "build.gradle" de nível de projeto do Android Studio

Insira a descrição da imagem aqui

1.2 Adicionar o plugin agcp HUAWEI e a base de código Maven.
Configure o endereço do repositório Maven do HMS Core SDK em allprojects -> repositories.

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

Configure o endereço do repositório Maven do HMS Core SDK em buildscript-> repositories.

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

2. Integre o SDK do serviço de super-resolução de texto e imagem

2.1 Integração completa do 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 Configuração de adição de cabeçalho de arquivo

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

2.3 Atualizar o modelo de aprendizado de máquina

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

3. Desenvolvimento de código

3.1 Criar um analisador de super-resolução de imagem de texto

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

3.2 Construir MLFrame por meio de android.graphics.Bitmap (observe que o tipo de bitmap aqui deve ser ARGB8888, preste atenção à conversão necessária)

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

3.3 Processamento de super-resolução de imagens contendo 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 Após a conclusão do overscore, pare o analisador e libere os recursos de detecção

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

Endereço do Github

Veja o código-fonte de demonstração: https://github.com/HMS-Core/hms-ml-demo/tree/master/MLKit-Sample/module-vision/src/main/java/com/huawei/mlkit/sample/activity

Para obter diretrizes de desenvolvimento mais detalhadas, consulte o site oficial da Huawei Developer Alliance

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

Para obter mais detalhes, consulte:

Site oficial da Huawei Developer Alliance:https://developer.huawei.com/consumer/cn/hms

Obtenha documentos de orientação de desenvolvimento:https://developer.huawei.com/consumer/cn/doc/development

Para participar das discussões do desenvolvedor, acesse a comunidade Reddit:https://www.reddit.com/r/HMSCore/

Para baixar a demonstração e o código de amostra, acesse o Github:https://github.com/HMS-Core

Para resolver problemas de integração, vá para Stack Overflow:https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


Link original:
https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203349782674210504&fid=18
Autor: deixar folhas

Acho que você gosta

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