前言
手機相冊里的照片越來越多?想要快速的從數千張照片里找到去年在迪士尼樂園拍的那一張?華為Image Kit圖像主題標簽功能可以幫你高效的分類整理相冊里的圖片,輕松識別400+照片場景,幫您快速的找到你想要的那張!
應用場景
當手機相冊圖片多了,標簽可以分類整理並儲存好圖片,讓用戶可迅速找到自己想要的圖片;
在社交平台,為了讓更多用戶看到你精美的圖片,“標簽生成”步驟可為你的圖片自動生成相應的標簽,並對應分區分享圖片,給你的圖片帶來更多的曝光量。
開發實戰
下面給大家介紹怎么集成Imgae kit的圖像主題標簽能力:
開發准備
圖像主題標簽服務開發步驟如下,需要開發者提供圖片和相關參數,得到相應的返回值。
步驟1:導入圖像主題標簽服務包。
import com.huawei.hms.image.vision.*;
步驟2:獲取圖像主題標簽服務實例。
// 獲取ImageVisionImpl對象
ImageVisionImpl imageVisionAPI = ImageVision.getInstance(this);
步驟3:服務初始化,與濾鏡服務一致,可參考開發步驟中的相關描述。
步驟4:構建參數對象。
requestJson字段信息:
圖像主題標簽的taskJson字段信息如下:
注意:使用圖像主題標簽服務時,開發者需要保證提供的token是有效的,否則無法使用該服務。token的獲取方式參見token獲取方式。
圖像主題標簽服務requestJson示例:
{
"requestId":"",
"taskJson":{"language":"cn"},
"authJson":{"projectId":"projectIdTest","appId":"appIdTest","authApiKey":"authApiKeyTest","clientSecret":"CSecretTest","clientId":"CIdTest","token":"tokenTest"}
}
步驟5:圖像主題標簽服務獲取結果。
開發者在調用圖像主題標簽接口時,需要輸入待處理圖片Bitmap等(參見步驟4)。此功能需要聯網,如不聯網,則返回錯誤碼。注意因為接口涉及網絡請求,需要開啟子線程去調用接口。
// 獲取返回值
new Thread(new Runnable() {
@Override
public void run() {
ImageVisionResult result = imageVisionAPI.analyzeImageThemeTag(requestJson, imageBitmap);
}
}).start();
result返回值:
response返回值:
JSONArray tags:
JSONArray objectList:
JSONObject box:
步驟6:停止服務。
當不再需要主題標簽效果時,調用該接口停止服務,stopCode為0時,執行成功。
if (null != imageVisionAPI) {
int stopCode = imageVisionAPI.stop();
}
Github源碼
Github源碼:https://github.com/HMS-Core/hms-image-vision-java
原文鏈接:
https://developer.huawei.com/consumer/cn/forum/topic/0201405568018350247?fid=18
作者:胡椒