使用手势识别

美颜特效 SDK 从 1.0.23 版本开始支持手势识别功能。

启用手势识别

初始化 SDK 的时候启用手势识别模块。
import { ArSdk } from 'tencentcloud-webar';
const sdk = new ArSdk(
{
module: {
beautify: true, // 美颜、美妆、人脸特效模块
segmentation: false, // 人像分割模块
handGesture: true // 手势识别模块
},
auth: { // 鉴权相关配置,参考「开始」文档
licenseKey: 'xxxxxxxxx',
appId: 'xxx',
authFunc: authFunc
},
camera: { // camera 配置调起内置相机
width: 1280,
height: 720
},
beautify: { // 初始化美颜参数(可选)
whiten: 0.1,
dermabrasion: 0.3,
eye: 0.2,
chin: 0,
lift: 0.1,
shave: 0.2
},
…… // 更多参数设置请参考「API 文档」
}
)

监听手势变化

开启手势识别后,手势变化时触发 handGesture。
// 开启手势识别后,监听到手势变化时触发
sdk.on('handGesture',(hands)=>{
console.log('handGesture', hands) // hands 参考下述 「Hand 对象结构」
…… // 其他业务代码,例如通过 sdk setEffect 接口设置特效等
})

Hand 对象结构


Hand: {
gesture: string // 手势名称,取值 None, Thumb_Up, Thumb_Down, Victory, Pointing_Up, Open_Palm, ILoveYou, Closed_Fist.
handedness: string // 识别到左手还是右手,取值 Left, Right
}
Hands: Array<Hand>

支持识别的手势列表

Hand gesture 取值
含义
None
未识别到有效手势
Thumb_Up
大拇指向上


Thumb_Down
大拇指向下


Victory
比耶


Pointing_Up
食指向上


Open_Palm
张开手掌


ILoveYou
比爱心


Closed_Fist
握拳