手势识别

最近更新时间:2024-08-03 16:32:21

我的收藏

功能说明

输入相机的 openGL 纹理,实时输出手势检测数据。您可以利用这些数据做进一步的开发。

Android 接口说明

Android 集成指引

Android 集成腾讯特效 SDK,具体请参见 独立集成腾讯特效

Android 接口调用

1. 打开手势检测功能开关(XmagicApi.java)。
public void setFeatureEnableDisable(String featureName, boolean enable);
featureName 填 XmagicConstant.FeatureName.HAND_DETECT,enable 填true
2. 设置数据回调(XmagicApi.java)
void setAIDataListener(XmagicApi.OnAIDataListener aiDataListener)

public interface OnAIDataListener {
void onFaceDataUpdated(List<TEFaceData> faceDataList);
void onHandDataUpdated(List<TEHandData> handDataList);
void onBodyDataUpdated(List<TEBodyData> bodyDataList);
void onAIDataUpdated(String data);
}
onAIDataUpdated 返回 JSON 结构的 string 数据。

iOS 接口说明

iOS 集成指引

iOS 集成腾讯特效 SDK,具体请参见 独立集成腾讯特效

iOS 接口调用

1. 打开手势检测功能开关(Xmagic.h)。
- (void)setFeatureEnableDisable:(NSString *_Nonnull)featureName enable:(BOOL)enable;
featureName 填 HAND_DETECT(可在 TEDefine.h 中引入),enable 填 true
2. 设置数据回调(Xmagic.h)
- (void)registerSDKEventListener:(id<YTSDKEventListener> _Nullable)listener;

- (void)onAIEvent:(id)event
{
NSDictionary *eventDict = (NSDictionary *)event;
if (eventDict[@"ai_info"] != nil) {
NSLog(@"ai_info %@",eventDict[@"ai_info"]);
}
}
eventDict[@"ai_info"] 即为返回的 JSON 结构的 string 数据。

回调 JSON 数据说明

在回调的 JSON 数据中,"hand_info" 里是手势相关的数据,格式如下所示。
"hand_info": {
"gesture": "PAPER",
"hand_point_2d": [180.71888732910156, 569.2958984375, ... , 353.8714294433594, 836.246826171875]
}
hand_info中各字段说明如下:
字段
含义
gesture
手势类型名称
hand_point_2d
捕捉到手势的数据信息
目前支持以下手势:
序号
手势
类型名称
示例图
1
手势1
ONE



2
手势2
SCISSOR



3
手势3
THREE



4
手势4
FOUR



5
手势5(open)
PAPER



6
手势6
SIX



7
手势8
EIGHT



8
比心
HEART



9
拳头
FIST



10
我爱你
LOVE



11
点赞
LIKE



12
OK
OK



13
摇滚手势
ROCK



14
LIFT



如果为不可识别的手势,则类型名称为 OTHER