Android中如何實(shí)現(xiàn)一個(gè)拍照翻譯小程序-創(chuàng)新互聯(lián)

今天小編給大家分享一下Android中如何實(shí)現(xiàn)一個(gè)拍照翻譯小程序的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

創(chuàng)新互聯(lián)公司:成立于2013年為各行業(yè)開拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為1000多家公司企業(yè)提供了專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)和網(wǎng)站推廣服務(wù), 專業(yè)公司由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺效果,策劃師分析客戶的同行競(jìng)爭(zhēng)對(duì)手,根據(jù)客戶的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。

1 開發(fā)準(zhǔn)備

??由于使用了云側(cè)的服務(wù),需要到華為的開發(fā)者聯(lián)盟注冊(cè)開發(fā)者賬號(hào),并且在云端開通這些服務(wù),這里就不細(xì)講了,直接按照官方的的AppGallery Connect配置、開通服務(wù)部分操作步驟進(jìn)行即可:

   注冊(cè)開發(fā)者,開通服務(wù)參考請(qǐng)戳:

1.1 在項(xiàng)目級(jí)gradle里添加華為maven倉

打開AndroidStudio項(xiàng)目級(jí)build.gradle文件。
Android中如何實(shí)現(xiàn)一個(gè)拍照翻譯小程序??

增量添加如下maven地址:

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

1.2 在應(yīng)用級(jí)的build.gradle里面加上SDK依賴

Android中如何實(shí)現(xiàn)一個(gè)拍照翻譯小程序

??集成SDK。(由于使用云側(cè)能力,只引入SDK基礎(chǔ)包即可)

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 在AndroidManifest.xml文件里面申請(qǐng)相機(jī)和存儲(chǔ)權(quán)限

??要使應(yīng)用程序能夠在用戶從華為應(yīng)用市場(chǎng)安裝您的應(yīng)用程序后,自動(dòng)將新的機(jī)器學(xué)習(xí)模型更新到用戶設(shè)備,請(qǐng)將以下語句添加到該應(yīng)用程序的AndroidManifest.xml文件中:

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

1.4 在AndroidManifest.xml文件里面申請(qǐng)相機(jī)和存儲(chǔ)權(quán)限

<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 代碼開發(fā)關(guān)鍵步驟

2.1 動(dòng)態(tài)權(quán)限申請(qǐng)

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

2.2 創(chuàng)建云側(cè)文本分析器??梢酝ㄟ^文本檢測(cè)配置器“MLRemoteTextSetting”創(chuàng)建文本分析器

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

2.3 通過android.graphics.Bitmap創(chuàng)建“MLFrame”對(duì)象用于分析器檢測(cè)圖片

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

2.4  調(diào)用“asyncAnalyseFrame ”方法進(jìn)行文本檢測(cè)

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 創(chuàng)建文本翻譯器??梢酝ㄟ^文本翻譯器自定義參數(shù)類“MLRemoteTranslateSetting”創(chuàng)建翻譯器

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 調(diào)用“asyncAnalyseFrame ”方法對(duì)文本識(shí)別獲取的內(nèi)容進(jìn)行文本翻譯

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 翻譯完成釋放資源

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();
        }

以上就是“Android中如何實(shí)現(xiàn)一個(gè)拍照翻譯小程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享題目:Android中如何實(shí)現(xiàn)一個(gè)拍照翻譯小程序-創(chuàng)新互聯(lián)
本文地址:http://bm7419.com/article20/ijejo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站、網(wǎng)站營(yíng)銷、電子商務(wù)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)