用華為HMS ML kit人體骨骼識別技術,Android快速實現人體姿勢動作抓拍
阿新 • • 發佈:2020-09-18
你有沒有過這種體驗,拍照時對著鏡頭,腦子一片空白、表情僵硬、手和腳無處安放,最後拍出來的照片很是奇怪。拍照軟體中的固定姿勢抓拍功能可以幫助你:選擇一個你想要的姿勢模板,當你擺出同款姿勢時,軟體會進行自動抓拍,完美避開拍照時的尷尬。本文詳細介紹了華為HMS ML kit人體骨骼識別技術的整合過程,該技術精準定位了14個骨骼點,可以輕鬆實現固定姿勢抓拍。
## 人體骨骼檢測功能開發實戰
做了一個視訊流骨骼識別小demo,做一次實戰演練,Github demo原始碼:https://github.com/HMS-Core/hms-ml-demo/tree/master/MLKit-Sample
## 1.開發前準備
您需要完成必要的開發準備工作,同時請確保您的工程中已經配置HMS Core SDK的Maven倉地址,並且完成了本服務的SDK整合。
### 1.1 在專案級build.gradle檔案中配置maven倉地址。
```java
buildscript {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
//配置AGC外掛
dependencies {
classpath "com.android.tools.build:gradle:3.3.2"
}
}
```
```java
allprojects {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
}
```
### 1.2在應用級build.gradle中引入SDK。
```java
dependencies {
implementation 'com.huawei.hms:ml-computer-vision-skeleton-model:2.0.1.300'
implementation 'com.huawei.hms:ml-computer-vision-skeleton:2.0.1.300'
implementation 'com.huawei.hms:ml-computer-vision-base:2.0.1.300'
}
```
## 2.開發步驟
### 2.1 靜態圖片檢測
2.1.1 建立人體骨骼檢測器。
```java
MLSkeletonAnalyzer analyzer = MLSkeletonAnalyzerFactory.getInstance().getSkeletonAnalyzer();
```
2.1.2 通過bitmap建立MLFrame,建議圖片尺寸不小於320 * 320畫素,不大於1920 * 1920畫素。
```java
//通過bitmap建立MLFrame。
MLFrame frame = MLFrame.fromBitmap(bitmap);
```
2.1.3 呼叫“asyncAnalyseFrame”方法進行人體骨骼檢測。
```jav