使用手势识别
美颜特效 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 | 握拳 ![]() |