el desarrollo de Android combate real, con el programa HMS MLKit Huawei el desarrollo de servicios de aprendizaje automático una pequeña cámara de traducción

cartilla

Es de suponer que hay muchos pequeños socios como para viajar, ir al extranjero para jugar es mejor, sin embargo, y antes de la excursión hay que tener comida, ropa, vivienda, transporte, jugar una gran variedad de rutas para hacer los Raiders, a continuación, esperando con impaciencia a partir ...

recorrido imaginario

Antes de la salida, imagina que puede haber un edificio hermoso destino turístico:
Aquí Insertar imagen Descripción
deliciosa comida:
Aquí Insertar imagen Descripción
bastante pequeña hermana:
Aquí Insertar imagen Descripción
una vida de ocio:
Aquí Insertar imagen Descripción

La visita real

Pero en realidad, si tenemos que colocar la barrera del idioma, la alta probabilidad puede encontrarse con los siguientes problemas:

Círculo de la gente ignorante mapas
Aquí Insertar imagen Descripción
menú de la fantasía
Aquí Insertar imagen Descripción

La magia de señales direccionales
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
surtido comercial de los bienes
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

demasiado duro

Aquí Insertar imagen Descripción

Traducción cámara ayuda ocupado

Con servicios de reconocimiento de texto y traducción Huawei HMS ML Kit, estos no son un problema, vengo a decirles hoy sobre cómo utilizar Huawei HMS ML Kit proporciona SDK para desarrollar un servicio de traducción de la cámara. Basta con tomar la imagen en términos de traducción pequeños desarrolladores de aplicaciones sólo necesitan dos grandes etapas:

El reconocimiento de texto

Obtener imagen para tomar una foto, entonces los cuadros de imagen adquiridos para el servicio de reconocimiento de texto Huawei HMS ML Kit de hacer el reconocimiento de texto
Huawei servicio de reconocimiento de texto también proporciona fuera de línea SDK (lateral) y el lado de la nube de dos maneras, con el lado extremo libre se puede detectar en tiempo real mayor lado nube para identificar el tipo y precisión. El We lado capacidades prácticas utilización nube siempre.

propiedades de reconocimiento de texto Especificaciones (HMS 4.0)
final Soporte CJK
lado multilingüe nube Chino, Inglés, francés, español, tailandés y otros 19 idiomas
el reconocimiento de inclinación 30 grados de inclinación circunstancias pueden identificar
el soporte de texto curvado Apoyo caso de curvatura de 45 grados puede todavía identificado con éxito
texto de seguimiento pista de soporte final

son sólo de referencia, Huawei con las especificaciones anteriores página web oficial del desarrollador conexión prevalecerán

traducción

El texto tras el reconocimiento a los servicios de traducción Huawei HMS MLKit hacer traducción de texto, que puede llegar al resultado deseado después de la traducción.
La traducción es un servicio proporcionado por el lado de la nube.

propiedades traducción de textos Especificaciones (HMS 4.0)
plurilingüe Siete idiomas, inglés, francés, español, suelo, árabe, tailandés
retraso 300 ms / 100 palabras
valor BLEU > 30
El término de configuración dinámica apoyo

son sólo de referencia, Huawei con las especificaciones anteriores página web oficial del desarrollador conexión prevalecerán

desarrollo de aplicaciones de traducción cámara de combate real

Se dice mucho sentido, directo al grano, a la derecha

Preparación 1 Desarrollo

Debido a la utilización de lado servicios en la nube, es necesario cuenta de desarrollador Developer Connection registrada de Huawei, y la apertura de estos servicios en la nube, aquí no se entrar en detalles, según la configuración AppGallery conexión directa del funcionario, servicio de paso de aprovisionamiento que es parte de la operación disponibles:
desarrollador registrado, por favor refiérase a la apertura del sello del servicio:

1.1 Adición de almacén experto Huawei a nivel de proyecto en Gradle

Abrir archivo de Android Studio build.gradle nivel de proyecto.
Aquí Insertar imagen Descripción
Incremental Maven añadir la siguiente dirección:

buildscript {
    repositories {        
        maven {url 'http://developer.huawei.com/repo/'}
    }    
}
allprojects {
    repositories {       
        maven { url 'http://developer.huawei.com/repo/'}
    }
}

1.2 aplicación dentro build.gradle dependiente del nivel con SDK

Aquí Insertar imagen Descripción
La integración del SDK. (Debido a la capacidad de la banda de nube, que se puede introducir en sólo el SDK paquete base)

dependencies{  
    implementation 'com.huawei.hms:ml-computer-vision:1.0.2.300'
    implementation 'com.huawei.hms:ml-computer-translate:1.0.2.300'
}

1.3 archivo AndroidManifest.xml dentro de la aplicación de la cámara y los derechos de almacenamiento

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

2 paso clave de código en el desarrollo de

Solicitud de acceso dinámico 2.1

private static final int CAMERA_PERMISSION_CODE = 1; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    // Checking camera permission   
   if (!allPermissionsGranted()) {
       getRuntimePermissions();
   }
} 

lado de la nube 2.2 Creación del programa de análisis de texto. El texto puede ser creado por el analizador de texto detector configurador "MLRemoteTextSetting".

MLRemoteTextSetting setting = (new MLRemoteTextSetting.Factory()).
         setTextDensityScene(MLRemoteTextSetting.OCR_LOOSE_SCENE).create();
this.textAnalyzer = MLAnalyzerFactory.getInstance().getRemoteTextAnalyzer(setting);

2,3 por android.graphics.Bitmap crear "MLFrame" objeto se utiliza para detectar si un analizador de imágenes.

MLFrame mlFrame = new MLFrame.Creator().setBitmap(this.originBitmap).create();

2.4 llamadas de método "asyncAnalyseFrame" de detección de texto.

Task<MLText> task = this.textAnalyzer.asyncAnalyseFrame(mlFrame);
            task.addOnSuccessListener(new OnSuccessListener<MLText>() {
                @Override
                public void onSuccess(MLText mlText) {
                    // Transacting logic for segment success.
                    if (mlText != null) {
                        RemoteTranslateActivity.this.remoteDetectSuccess(mlText);
                    } else {
                        RemoteTranslateActivity.this.displayFailure();
                    }
                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(Exception e) {
                    // Transacting logic for segment failure.
                    RemoteTranslateActivity.this.displayFailure();
                    return;
                }
            });

2.5 Creación de traductor de texto. Puede personalizar los parámetros como "MLRemoteTranslateSetting" crear una traducción a través del traductor de texto.

MLRemoteTranslateSetting.Factory factory = new MLRemoteTranslateSetting
                .Factory()
                // Set the target language code. The ISO 639-1 standard is used.
                .setTargetLangCode(this.dstLanguage);
        if (!this.srcLanguage.equals("AUTO")) {
            // Set the source language code. The ISO 639-1 standard is used.
            factory.setSourceLangCode(this.srcLanguage);
        }
        this.translator = MLTranslatorFactory.getInstance().getRemoteTranslator(factory.create());

2.6 llamadas de método "asyncAnalyseFrame" de la traducción de texto de los contenidos del reconocimiento de texto capturado.

final Task<String> task = translator.asyncTranslate(this.sourceText);
        task.addOnSuccessListener(new OnSuccessListener<String>() {
            @Override
            public void onSuccess(String text) {
                if (text != null) {
                    RemoteTranslateActivity.this.remoteDisplaySuccess(text);
                } else {
                    RemoteTranslateActivity.this.displayFailure();
                }
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(Exception e) {
                RemoteTranslateActivity.this.displayFailure();
            }
        });

2.7 liberación de recursos para completar la traducción.

if (this.textAnalyzer != null) {
            try {
                this.textAnalyzer.close();
            } catch (IOException e) {
                SmartLog.e(RemoteTranslateActivity.TAG, "Stop analyzer failed: " + e.getMessage());
            }
        }
        if (this.translator != null) {
            this.translator.stop();
        }

3 Fuente

Las viejas reglas, simple y pequeño código fuente de demostración subidos Github, dirección de origen GitHub favor empuje (directorio del proyecto: Foto-Translate), podemos hacer una optimización basada en escenario de referencia.

efecto 4 Demo

Aquí Insertar imagen Descripción

5 nudo después del discurso

El programa de demostración pequeña para todos APP desarrollado para utilizar ambos lados de dos capacidades de nube de Huawei HMS ML Kit, capacidades de reconocimiento de caracteres y de traducción, de reconocimiento de caracteres y la traducción de Huawei pueden también ayuda a los desarrolladores a hacer un montón de otras características interesantes y potentes tales como:
[general] de reconocimiento de texto
1, el reconocimiento de caracteres de la matrícula del bus
2, reconocimiento de texto en la escena de lectura de documentos
[tarjeta] de reconocimiento de texto certificado clase
1, el banco número de tarjeta de la tarjeta puede ser identificado por el reconocimiento de caracteres para la tarjeta bancaria encuadernación, etc. escena
2, por supuesto, además de la identificación de las tarjetas bancarias, también puede identificar los distintos número de tarjeta de tarjeta de la vida, tales como tarjetas de socio, tarjetas de descuento
3, también puede ser aplicado para identificar tarjetas de identidad, permisos de salida y otros documentos como los números
[traducción]
1, las señales de tráfico signos de traducción
2, documento de traducción
3, traducción de páginas, tales como el tipo de reconocimiento del lenguaje zona de revisión del sitio y traducidos al idioma del país correspondiente;
4, mar Descripción producto de traducción Amoy
5, el restaurante de traducción menú de pedido

guía de referencia más detallada desarrollada por la liga de desarrollo de Huawei es la web oficial:

Guía de desarrollo Huawei Developer Connection Machine Learning Services

Enlaces últimos

La primera fase: con Huawei HMS MLKit Android SDK treinta minutos en el desarrollo de un artefacto sonrisa instantánea
II: Andrews desarrollo real, la segmentación SDK para desarrollar un pequeño programa de bricolaje pasaporte imagen Huawei HMS MLKit con

próximo Número

Huawei conformidad con la práctica basada en servicios de aprendizaje automático, estará detrás de una serie de experiencia práctica de acción, podemos seguir centrándose -

Publicado tres artículos originales · alabanza ganado 15 · vistas 4326

Supongo que te gusta

Origin blog.csdn.net/AI_talking/article/details/105145444
Recomendado
Clasificación