développement Android combat réel, avec le programme de développement des services d'apprentissage automatique Huawei HMS MLKit une petite traduction de la caméra

apprêt

On peut supposer qu'il ya beaucoup de petits partenaires aiment Voyage, aller à l'étranger pour jouer il est mieux, cependant, et avant la visite, nous devons avoir de la nourriture, l'habillement, le logement, le transport, jouer une variété de routes pour faire les Raiders, puis attendent avec impatience de commencer ...

Tour imaginaire

Avant le départ, imaginez il peut y avoir un bel immeuble de destination touristique: la
Insérer ici l'image Description
nourriture délicieuse:
Insérer ici l'image Description
jolie petite soeur:
Insérer ici l'image Description
une vie de loisirs:
Insérer ici l'image Description

La visite réelle

Mais en réalité, si nous devons placer la barrière linguistique, la forte probabilité peut rencontrer les problèmes suivants:

Les gens ignorants cercle cartes
Insérer ici l'image Description
menu fantaisie
Insérer ici l'image Description

La magie des signes directionnels
Insérer ici l'image Description
Insérer ici l'image Description
assortiment de produits de centre commercial
Insérer ici l'image Description
Insérer ici l'image Description

trop dur

Insérer ici l'image Description

aide à la traduction de l'appareil photo vous occupé

Avec Huawei HMS ML reconnaissance de texte Kit et services de traduction, ce ne sont pas un problème, je viens de vous parler aujourd'hui, comment utiliser Huawei HMS ML Kit fourni SDK pour développer un service de traduction de la caméra. Il suffit de prendre l'image en termes de petits développeurs d'applications de traduction seulement besoin de deux grandes étapes:

Reconnaissance de texte

Obtenir une image pour prendre une photo, puis les trames d'image acquises à Huawei HMS ML reconnaissance ENTRETIEN Entretien texte de reconnaissance de texte Kit
service de reconnaissance de texte Huawei fournit également SDK hors ligne (côté) et le côté nuage de deux manières, côté extrémité libre peut être détectée en temps réel supérieur côté nuage pour identifier le type et la précision. Les capacités des nuages d'utilisation côté pratique de nous avons fourni.

propriétés de reconnaissance de texte Spécifications (HMS) 4.0
fin soutien CJK
côté nuage multilingue Chinois, anglais, français, espagnol, thaï et 19 autres langues
reconnaissance d'inclinaison 30 circonstances d'inclinaison degré peuvent identifier
support de texte incurvé Ossature de courbure de 45 degrés peut encore réussi à identifier
suivi du texte piste de support de fin

Les spécifications ci - dessus sont fournies à titre indicatif, Huawei site officiel du développeur Connexion prévalent

traduction

Le texte après la reconnaissance des services de traduction Huawei HMS MLKit faire la traduction de texte, vous pouvez obtenir le résultat souhaité après la traduction.
La traduction est un service fourni par le côté nuage.

propriétés de traduction de texte Spécifications (HMS) 4.0
multilingue Sept langues, anglais, français, espagnol, sol, arabe, thaï
retard 300ms / 100 mots
valeur BLEU > 30
Le terme de configuration dynamique soutien

Les spécifications ci - dessus sont fournies à titre indicatif, Huawei site officiel du développeur Connexion prévalent

APP développement combat réelle traduction de la caméra

Il dit trop de bêtises, droit au but, à droite

Préparation 1 Développement

En raison de l'utilisation du côté des services de cloud computing, il est nécessaire au compte développeur Developer Connection Huawei, et l'ouverture de ces services dans le nuage, ici est de ne pas entrer dans les détails, selon la configuration directe AppGallery Connect du fonctionnaire, l' étape d' approvisionnement de service qui fait partie de l'opération disponible:
recommandé développeur, s'il vous plaît se référer à l'ouverture de tampon de service:

1.1 Ajout Huawei entrepôt Maven au niveau du projet gradle

niveau du projet ouvert fichier Android Studio build.gradle.
Insérer ici l'image Description
Incrémentale Maven ajouter l'adresse suivante:

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

1.2 niveau build.gradle dépend de l'application à l'intérieur avec SDK

Insérer ici l'image Description
SDK intégration. (En raison de la capacité du côté des nuages, il peut être introduit dans le seul SDK de package de 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 fichier AndroidManifest.xml dans l'application de la caméra et les droits de stockage

<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 étape clé de code dans le développement de

2.1 Demande d'accès dynamique

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

2.2 Création côté nuage de l'analyseur de texte. Le texte peut être créé par l'analyseur de texte configurateur détecteur « MLRemoteTextSetting ».

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

2.3 par android.graphics.Bitmap créer l'objet « MLFrame » est utilisé pour détecter si un analyseur d'image.

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

2.4 appels méthode « asyncAnalyseFrame » de détection de texte.

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 Création traducteur de texte. Vous pouvez personnaliser les paramètres comme « MLRemoteTranslateSetting » créer une traduction par traducteur texte.

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 appels de méthode « de asyncAnalyseFrame » de la traduction du texte du contenu de la reconnaissance de texte capturé.

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 ressources de libération pour compléter la traduction.

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 Source

Les anciennes règles, simple petit code source de démonstration téléchargées Github, GitHub adresse source s'il vous plaît Poke (répertoire du projet: Photo-Traduire), nous pouvons faire une optimisation basée sur le scénario de référence.

effet 4 Demo

Insérer ici l'image Description

5 noeuds après le discours

Le petit programme de démonstration pour tout le monde APP développé pour utiliser les deux côtés de deux capacités de nuage de Huawei HMS ML Kit, reconnaissance des caractères et des capacités de traduction, la reconnaissance de caractères Huawei et la traduction peuvent également aider les développeurs à faire beaucoup d'autres fonctionnalités intéressantes et puissantes tels que: la
reconnaissance de texte [général]
1, la reconnaissance de caractères de la plaque d'immatriculation de bus
2, la reconnaissance de texte dans la scène de lecture de documents
[carte] classe de certificat de reconnaissance de texte
1, numéro de carte de carte bancaire peut être identifiée par la reconnaissance du caractère pour carte bancaire obligatoire, etc. scène
2, bien sûr, en plus d'identifier les cartes bancaires, vous pouvez également identifier les différents numéro de carte de carte de vie, telles que les cartes de membres, cartes de réduction
3, peuvent également être mises en œuvre pour identifier les cartes d'identité, permis de sortie et d' autres documents comme les numéros
[traduction]
1, la signalisation routière signes de traduction
2, document de traduction
3, traduction de la page, tels que le type de zone d'examen du site de reconnaissance des langues et traduits dans la langue du pays correspondant;
4, la description du produit de traduction mer Amoy
5, le menu de commande restaurant de traduction

guide de référence plus détaillé développé par la ligue de développement de Huawei est le site officiel:

Guide de développement Huawei Developer Connection Machine Learning Service

Liens passés

La première phase: avec Huawei HMS MLKit Android SDK trente minutes sur le développement d'un artefact instantané sourire
II: Andrews développement réel, SDK de segmentation pour développer un passeport bricolage petit programme avec l' image Huawei HMS MLKit

Numéro suivant

Huawei conformément à la pratique basée sur les services d'apprentissage de la machine, sera derrière une série de mains sur l'expérience à part, nous pouvons continuer à se concentrer -

Publié trois articles originaux · louange gagné 15 · vues 4326

Je suppose que tu aimes

Origine blog.csdn.net/AI_talking/article/details/105145444
conseillé
Classement