3 SDK API の使用​

3.1 SDK ハンドルの初期化

1. HumanAction の初期化

//HumanAction ハンドルを初期化します
//モデルのパスを取得します
NSString *strModelPath = [[NSBundle mainBundle] 
    pathForResource:@"M_SenseME_Action" ofType:@"model"];
//HumanAction ハンドルを作成します
//注記: 本 SDK の API では、2 種類の HumanAction ハンドル作成方法を提供します。
//検知対象がビデオである場合は ST_MOBILE_HUMAN_ACTION_DEFAULT_CONFIG_CREATE 
//に設定し、画像である場合は ST_MOBILE_HUMAN_ACTION_DEFAULT_CONFIG_IMAGE に
//設定します。詳細については、st_mobile_human_action.h ファイルをご参照ください。
//ハンドル作成用の config コマンドと、人間の動作を検知するための config コマンドを
//区別するように注意してください。動作を検知するための config コマンドは、config 
//コマンドを使用してハンドルを作成できる場合にのみ有効になります。
iRet = st_mobile_human_action_create(
    strModelPath.UTF8String, 
    ST_MOBILE_HUMAN_ACTION_DEFAULT_CONFIG_VIDEO, 
    &_hDetector
);

//他のモデルをロードして、st_mobile_human_action_add_sub_model を呼び出します
NSString *strEyeCenter = [[NSBundle mainBundle]
    pathForResource:@"xx" ofType:@"model"];
iRet = st_mobile_human_action_add_sub_model(
    _hDetector, 
    strEyeCenter.UTF8String
);

//アバタースタンプは、目の輪郭点モデルと専用のアバターモデル (avatar_core.model) 
// を一緒に読み込む必要があることに注意してください

//モデルを削除します。必要に応じて、動的にモデルを追加、または削除できます。
//詳細についてはサンプルをご参照ください。
iRet = st_mobile_human_action_remove_model_by_config(
    _hDetector, 
    ST_MOBILE_ENABLE_FACE_EXTRA_DETECT
);

//人間の動作用のパラメーターを設定します。2 フレームごとに 1 回ジェスチャを検知するよう
//に設定しています。必要に応じて設定できます。
//他のパラメーターに関しては、st_mobile_human_action.h ファイルをご参照ください。
iRet = st_mobile_human_action_setparam(
    _hDetector,
    ST_HUMAN_ACTION_PARAM_HAND_PROCESS_INTERVAL, 
    2
);

2. 顔属性 API ハンドルの初期化

//顔属性ハンドルを初期化します
//顔属性モデルのパスを取得します
NSString *strAttriModelPath = [[NSBundle mainBundle] 
    pathForResource:@"face_attribute" ofType:@"model"];
//顔属性ハンドルを作成します
iRet = st_mobile_face_attribute_create(
    strAttriModelPath.UTF8String, 
    &_hAttribute
);

Last updated