圖片雜亂無章、分享麻煩?HMS Core圖片分類服務教你快速篩選、分類、整合相冊

来源:https://www.cnblogs.com/hmscore/archive/2022/04/12/16134231.html
-Advertisement-
Play Games

如今手機攝影越來越方便,隨手一拍就能記錄美好生活。但照片越多,整理越麻煩,有的時候我們想對照片進行二次加工、分享,需要不停翻找相冊。HMS Core機器學習服務(ML Kit)提供了圖片分類服務,方便用戶在多個場景下快速篩選圖片集、定義圖片題材並標註分類信息。比如,期末老師時常會要求家長和孩子一起制 ...


如今手機攝影越來越方便,隨手一拍就能記錄美好生活。但照片越多,整理越麻煩,有的時候我們想對照片進行二次加工、分享,需要不停翻找相冊。HMS Core機器學習服務(ML Kit)提供了圖片分類服務,方便用戶在多個場景下快速篩選圖片集、定義圖片題材並標註分類信息。比如,期末老師時常會要求家長和孩子一起製作親子成長手冊,教育服務類App集成圖片分類服務後可以把一個學期以來的所有照片分類彙總成相冊;出去玩了多個景點或途徑不同城市,旅游分享類App可以幫助用戶整理基於某個位置或某個實物進行圖片分類;在全場景下手機相冊需要把照片同步到大屏上輪播,文件分享類App可以設置分享規則,分類上傳。

接下來,請開發者們通過以下開發實戰進行體驗,同時期待大家將便捷的圖片分類服務進一步帶給用戶~

開發實戰

1 開發準備

在進行開發前需要配置HMS Core SDK的Maven倉地址:
repositories {
maven {
url'https://cmc.centralrepo.rnd.huawei.com/artifactory/product_maven/' }
}

並集成本SDK:

  1. dependencies {
  2. // 引入基礎SDK
    implementation 'com.huawei.hms:ml-computer-vision-classification:3.3.0.300'
  3. // 引入圖片分類模型包
  4. implementation 'com.huawei.hms:ml-computer-vision-image-classification-model:3.3.0.300'

}

然後請參見雲端鑒權信息使用須知,設置您應用的鑒權信息

2 編輯工程集成

2.1 設置應用的鑒權信息

可以通過api_key或者Access Token來設置應用鑒權信息。

通過setAccessToken方法設置Access Token,在應用啟動時初始化設置一次即可,無需多次設置。
MLApplication.getInstance().setAccessToken("your access token");

通過setApiKey方法設置api_key,在應用啟動時初始化設置一次即可,無需多次設置。
MLApplication.getInstance().setApiKey("your ApiKey");

2.2 創建靜態圖片檢測器

// 方式一:端側識別使用自定義參數配置。

MLLocalClassificationAnalyzerSetting setting =
new MLLocalClassificationAnalyzerSetting.Factory()
.setMinAcceptablePossibility(0.8f)
.create();
MLImageClassificationAnalyzer analyzer = MLAnalyzerFactory.getInstance().getLocalImageClassificationAnalyzer(setting);

// 方式二:端側識別使用預設參數配置。

MLImageClassificationAnalyzer analyzer = MLAnalyzerFactory.getInstance().getLocalImageClassificationAnalyzer();

2.3 創建MLFrame

// 通過bitmap創建MLFrame,bitmap為輸入的Bitmap格式圖片數據。支持的圖片格式包括:jpg/jpeg/png/bmp,建議圖片尺寸不小於112*112像素。

MLFrame frame = MLFrame.fromBitmap(bitmap);

2.4 調用asyncAnalyseFrame方法進行圖像分類


Task<List<MLImageClassification>> task = analyzer.asyncAnalyseFrame(frame); 

task.addOnSuccessListener(new OnSuccessListener<List<MLImageClassification>>() {

    @Override
		
    public void onSuccess(List<MLImageClassification> classifications) {
		
        // 識別成功。
				
        // 遍歷返回的列表MLImageClassification,獲取分類名稱等信息。
				
    }
		
}).addOnFailureListener(new OnFailureListener() {

    @Override
		
    public void onFailure(Exception e) {
		
        // 識別失敗。
				
        // Recognition failure.
				
        try {
            MLException mlException = (MLException)e;
            // 獲取錯誤碼,開發者可以對錯誤碼進行處理,根據錯誤碼進行差異化的頁面提示。
            int errorCode = mlException.getErrCode();
            // 獲取報錯信息,開發者可以結合錯誤碼,快速定位問題。
            String errorMessage = mlException.getMessage();
        } catch (Exception error) {
            // 轉換錯誤處理。
        }
    }
});

2.5 識別完成後停止分析器


try {
    if (analyzer != null) {
       analyzer.stop();
    }
} catch (IOException e) {
 // 異常處理。
}

3 演示及說明

3.1說明

圖片分類功能包含靜態端側、靜態雲側、動態檢測,以上示例僅為靜態端側功能。

3.2 演示

瞭解更多詳情>>

訪問華為開發者聯盟官網
獲取開髮指導文檔
華為移動服務開源倉庫地址:GitHubGitee

關註我們,第一時間瞭解 HMS Core 最新技術資訊~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 準備工作 virtualBox可在官網下載,Ubuntu鏡像可在 阿裡雲下載,選擇對應電腦位數的鏡像。 開始安裝 1、點擊“新建”按鈕 1.1 設置好安裝目錄、系統類型、系統版本 1.2 分配記憶體 ​ 可以根據實際情況,且後期可以更改 1.3 默 ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 一、配置本地yum源 1. 掛載iso 2.創建目錄並掛載iso 3.修改vim CentOS-Stream-Media.repo,內容如下 文件按照如下的方式修改,修改有6個地方 baseurl ,指定掛載的目錄下的BaseOS 以及AppSt ...
  • 如何查看PostgreSQL的監聽埠呢?下麵總結一下查看PostgreSQL監聽埠的方法。 方法1:netstat命令查看 # netstat -a | grep PGSQL<!--CRLF--> <!--CRLF-->unix 2 [ ACC ] STREAM LISTENING 126939 ...
  • 雲主機是什麼? 雲主機是雲計算在基礎設施應用上的重要組成部分,位於雲計算產業鏈金字塔底層,產品源自雲計算平臺。該平臺整合了互聯網應用三大核心要素:計算、存儲、網路,面向用戶提供公用化的互聯網基礎設施服務。雲主機是一種類似VPS主機的虛擬化技術,VPS是採用虛擬軟體,VZ或VM在一臺主機上虛擬出多個類 ...
  • 雲資料庫MySQL MySQL是目前最受歡迎的開源資料庫之一,其性能卓越,搭配LAMP(Linux + Apache + MySQL + Perl/PHP/Python),成為WEB開發的高效解決方案。 雲資料庫MySQL擁有即開即用、穩定可靠、安全運行、彈性伸縮、輕鬆管理、經濟實用等特點。架構成熟 ...
  • 如今這個年代,由於電腦的飛速發展,電腦陪著也在跟著迅速的變化,如果不能及時的更新電腦相關的配著以及相關的軟體系統,很多需要高配置的軟體游戲根本無法運行,但是更換電腦的配置甚至說更換一臺高配置的電腦所需要的費用相對於一般人來說又是一時間難以接受的,那麼想玩3A大作,又不想更換電腦該怎麼辦呢?或許在十年 ...
  • 現在疫情這麼嚴重,面對面開會不利於防疫政策,這時候可以試試華為云云會議,相比其他雲會議軟體,它針對性強,光會議室種類就有了五種。而且應用有多種高科技智能設備,讓你感受面對面都沒有的方便快捷。 華為云云會議(SmartRooms智能會議室)介紹: SmartRooms智能會議室利用雲的開放聯接的架構特 ...
  • 華為 HarmonyOS 開源與開發者運營總監歐建深、江蘇潤和軟體鴻蒙研發總監石磊、深圳市親鄰科技技術總監蘇熙烽、華為 HDE 連志安分別作主題分享。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...