亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用超簡單集成HMS Core ML Kit場景識別,構建相冊管理新模式

發布時間:2021-10-23 17:54:28 來源:億速云 閱讀:155 作者:iii 欄目:編程語言

本篇內容主要講解“如何使用超簡單集成HMS Core ML Kit場景識別,構建相冊管理新模式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用超簡單集成HMS Core ML Kit場景識別,構建相冊管理新模式”吧!

功能特性

華為場景識別服務支持對圖片的場景內容進行分類并添加標注信息,如美食、花朵、綠植、貓、狗、廚房、山峰、洗衣機等102種場景,并基于識別到的信息,構建更智能的相冊應用體驗。

場景識別具有以下功能特性:

  • 多類場景識別 支持102種場景的識別,并持續增加。

  • 識別準確率高 可識別多種物品、場景,識別準確率高。

  • 識別響應速度快 毫秒級響應速度,并不斷優化性能表現。

  • 集成簡單高效 提供API接口和SDK包,方便客戶集成,操作簡單,減少開發成本。

應用場景

場景識別除了應用于建立智能相冊、照片檢索和分類外,還可以識別拍攝場景自動選擇相應的場景濾鏡和相機參數,幫助用戶拍攝出更好看的照片。

開發代碼

1 開發準備工作

1.1 配置AppGallery Connect。

在開發應用前,需要在AppGallery Connect中配置相關信息。 具體操作步驟,請參考下方鏈接: https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/config-agc-0000001050990353-V5

1.2 配置HMS Core SDK的Maven倉地址,并完成本服務的SDK集成。

(1)打開Android Studio項目級“build.gradle”文件。

如何使用超簡單集成HMS Core ML Kit場景識別,構建相冊管理新模式 (2)添加HUAWEI agcp插件以及Maven代碼庫。

  • 在“allprojects > repositories”中配置HMS Core SDK的Maven倉地址。

  • 在“buildscript > repositories”中配置HMS Core SDK的Maven倉地址。

  • 如果App中添加了“agconnect-services.json”文件則需要在“buildscript > dependencies”中增加agcp配置。

buildscript {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
    dependencies {
        ...
        classpath 'com.huawei.agconnect:agcp:1.4.1.300'
    }
}
  
allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

2 開發代碼

靜態圖片檢測

2.1 創建場景識別檢測器實例。

// 方式1:使用默認的參數配置。
MLSceneDetectionAnalyzer analyzer = MLSceneDetectionAnalyzerFactory.getInstance().getSceneDetectionAnalyzer();
// 方式2:按自定義配置創建場景識別分析器實例。
MLSceneDetectionAnalyzerSetting setting = new MLSceneDetectionAnalyzerSetting.Factory()
     // 設置場景識別可信度閾值。
     .setConfidence(confidence)
     .create();
MLSceneDetectionAnalyzer analyzer = MLSceneDetectionAnalyzerFactory.getInstance().getSceneDetectionAnalyzer(setting);

2.2 通過android.graphics.Bitmap構造MLFrame,支持的圖片格式包括:jpg/jpeg/png/bmp。

MLFrame frame = new MLFrame.Creator().setBitmap(bitmap).create();

2.3 進行場景識別。

// 方式1:同步識別。
SparseArray<MLSceneDetection> results = analyzer.analyseFrame(frame);
// 方式2:異步識別。
Task<List<MLSceneDetection>> task = analyzer.asyncAnalyseFrame(frame);
task.addOnSuccessListener(new OnSuccessListener<List<MLSceneDetection>>() {
    public void onSuccess(List<MLSceneDetection> result) {
        // 場景識別成功的處理邏輯。
    }})
    .addOnFailureListener(new OnFailureListener() {
        public void onFailure(Exception e) {
            // 場景識別識別失敗的處理邏輯。
            // failure.
            if (e instanceof MLException) {
                MLException mlException = (MLException)e;
                // 獲取錯誤碼,開發者可以對錯誤碼進行處理,根據錯誤碼進行差異化的頁面提示。
                int errorCode = mlException.getErrCode();
                // 獲取報錯信息,開發者可以結合錯誤碼,快速定位問題。
                String errorMessage = mlException.getMessage();
            } else {
                // 其他異常。
        }
    }
});

2.4 檢測完成,停止分析器,釋放檢測資源。

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

視頻流檢測

開發者可以自行處理視頻流,將視頻流轉化為MLFrame對象,再按靜態圖像檢測的方法進行場景識別。

如果開發者調用的是同步檢測接口,也可以使用SDK內置的LensEngine類實現視頻流場景識別。示例代碼如下:

3.1 創建場景識別分析器,只支持創建端側場景識別分析器。

MLSceneDetectionAnalyzer analyzer = MLSceneDetectionAnalyzerFactory.getInstance().getSceneDetectionAnalyzer();

3.2 開發者創建識別結果處理類“SceneDetectionAnalyzerTransactor”,該類實現MLAnalyzer.MLTransactor<T>接口,使用該接口中的transactResult方法獲取檢測結果并實現具體業務。

public class SceneDetectionAnalyzerTransactor implements MLAnalyzer.MLTransactor<MLSceneDetection> {
    @Override
    public void transactResult(MLAnalyzer.Result<MLSceneDetection> results) {
        SparseArray<MLSceneDetection> items = results.getAnalyseList();
        // 開發者根據需要處理識別結果,需要注意,這里只對檢測結果進行處理。
        // 不可調用ML Kit提供的其他檢測相關接口。
    }
    @Override
    public void destroy() {
        // 檢測結束回調方法,用于釋放資源等。
    }
}

3.3 設置識別結果處理器,實現分析器與結果處理器的綁定。

analyzer.setTransactor(new SceneDetectionAnalyzerTransactor());
// 創建LensEngine,該類由ML Kit SDK提供,用于捕捉相機動態視頻流并傳入分析器。
Context context = this.getApplicationContext();
LensEngine lensEngine = new LensEngine.Creator(context, this.analyzer)
    .setLensType(LensEngine.BACK_LENS)
    .applyDisplayDimension(1440, 1080)
    .applyFps(30.0f)
    .enableAutomaticFocus(true)
    .create();

3.4 調用run方法,啟動相機,讀取視頻流,進行識別。

// 請自行實現SurfaceView控件的其他邏輯。
SurfaceView mSurfaceView = findViewById(R.id.surface_view);
try {
    lensEngine.run(mSurfaceView.getHolder());
} catch (IOException e) {
    // 異常處理邏輯。
}

3.5 檢測完成,停止分析器,釋放檢測資源。

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

DEMO展示

如何使用超簡單集成HMS Core ML Kit場景識別,構建相冊管理新模式

到此,相信大家對“如何使用超簡單集成HMS Core ML Kit場景識別,構建相冊管理新模式”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁安市| 锡林郭勒盟| 芒康县| 长葛市| 驻马店市| 南城县| 绥德县| 神农架林区| 福清市| 青海省| 望奎县| 甘泉县| 游戏| 溧水县| 乳山市| 中山市| 韩城市| 淮安市| 静安区| 铜陵市| 珲春市| 乐都县| 高雄县| 安康市| 旬邑县| 濮阳市| 云和县| 响水县| 福海县| 岚皋县| 昆明市| 彭州市| 松阳县| 江达县| 延津县| 博野县| 会理县| 北票市| 中江县| 五台县| 泰顺县|