houxiao
2017-04-06 63d598d4443f906b34bedaf49e870b7a2be1a5c8
VisitFace/RtspNativeCodec/app/libs/st_face/include/cv_face.h
@@ -35,6 +35,8 @@
#define CV_E_UNSURPPORTED   (-1000)
/// 指定位置未找到license.lic文件
#define CV_E_MISSLICENSE   (-1001)
/// cv_face_init_license_config 函数被重复调用
#define  CV_E_MULTI_CALLS   (-1002)
/// @brief  人脸朝向
typedef enum {
@@ -50,7 +52,8 @@
void
cv_face_algorithm_info();
/// @brief  手动加载license文件,除Android平台外,都可以不主动调用此函数(但需要将license文件放在可执行程序同一目录,名称命名为license.lic)
/// @brief  手动加载license文件,除IOS,Android平台外,都可以不主动调用此函数(但需要将license文件放在可执行程序同一目录,名称命名为license.lic),该函数只能被成功调用一次
/// param[in]   szLicense 授权文件中的字符串,license文件的全部内容
CV_SDK_API
cv_result_t
cv_face_init_license_config(const char* szLicense);
@@ -64,9 +67,9 @@
/// @{
/// @brief 创建人脸检测句柄
/// @param handle函数成功时被设置为有效的detector handle
/// @param model_path 模型文件的绝对路径或相对路径,若不指定模型可为NULL
/// @param config 配置选项,默认配置为CV_DETECT_ENABLE_ALIGN_21(21关键点检测)。支持106关键点检测CV_DETECT_ENABLE_ALIGN_106和自动缩放CV_FACE_RESIZE_IMG_XXXX。
/// @param[out] handle函数成功时被设置为有效的detector handle
/// @param[in] model_path 模型文件的绝对路径或相对路径,若不指定模型可为NULL
/// @param[in] config 配置选项,默认配置为CV_DETECT_ENABLE_ALIGN_21(21关键点检测)。支持106关键点检测CV_DETECT_ENABLE_ALIGN_106和自动缩放CV_FACE_RESIZE_IMG_XXXX。
/// @return 返回CV_OK 失败返回错误码
CV_SDK_API
cv_result_t
@@ -77,8 +80,8 @@
);
/// @brief 获取当前人脸检测的默认阀值
/// @param handle 人脸检测句柄
/// @param threshold 人脸检测的默认阀值
/// @param[in]   handle 人脸检测句柄
/// @param[out]   threshold 人脸检测的默认阀值
CV_SDK_API
cv_result_t cv_face_detect_get_threshold(
   cv_handle_t detector_handle,
@@ -86,8 +89,8 @@
   );
/// @brief 设置当前人脸检测的阀值,需要在调用cv_face_detect之前调用此函数,阈值需大于0,设置后调用cv_face_detect_get_threshold为新设置后的值)
/// @param handle 人脸检测句柄
/// @param threshold 人脸检测新阀值
/// @param[in] handle 人脸检测句柄
/// @param[in] threshold 人脸检测新阀值
CV_SDK_API
cv_result_t cv_face_detect_set_threshold(
   cv_handle_t detector_handle,
@@ -95,22 +98,22 @@
   );
/// @brief 销毁已初始化的人脸检测句柄
/// @param detector_handle 已初始化的人脸检测句柄
/// @param[in] detector_handle 已初始化的人脸检测句柄
CV_SDK_API
void cv_face_destroy_detector(
   cv_handle_t detector_handle
);
/// @brief 人脸检测
/// @param detector_handle 已初始化的人脸检测句柄
/// @param image 用于检测的图像数据
/// @param piexl_format 用于检测的图像数据的像素格式
/// @param image_width 用于检测的图像的宽度(以像素为单位)
/// @param image_height 用于检测的图像的高度(以像素为单位)
/// @param image_stride 用于检测的图像中每一行的跨度(以像素为单位) 图像跨度=图像宽度*图像维度
/// @param orientation 图片中人脸的方向
/// @param p_faces_array 检测到的人脸信息数组,api负责分配内存,需要调用cv_face_release_detector_result函数释放
/// @param p_faces_count 检测到的人脸数量,api负责分配内存,需要调用cv_face_release_detector_result函数释放
/// @param[in]   detector_handle 已初始化的人脸检测句柄
/// @param[in]   image 用于检测的图像数据
/// @param[in]   piexl_format 用于检测的图像数据的像素格式
/// @param[in]   image_width 用于检测的图像的宽度(以像素为单位)
/// @param[in]   image_height 用于检测的图像的高度(以像素为单位)
/// @param[in]   image_stride 用于检测的图像中每一行的跨度(以像素为单位) 图像跨度=图像宽度*图像维度
/// @param[in]   orientation 图片中人脸的方向
/// @param[out]   p_faces_array 检测到的人脸信息数组,api负责分配内存,需要调用cv_face_release_detector_result函数释放
/// @param[out]   p_faces_count 检测到的人脸数量
/// @return 成功返回CV_OK,否则返回错误类型
CV_SDK_API
cv_result_t
@@ -127,8 +130,8 @@
);
/// @brief 释放人脸检测返回结果时分配的空间
/// @param faces_array 检测到的人脸信息数组
/// @param faces_count 检测到的人脸数量
/// @param[in] faces_array 检测到的人脸信息数组
/// @param[in] faces_count 检测到的人脸数量
CV_SDK_API
void
cv_face_release_detector_result(
@@ -150,9 +153,9 @@
#define CV_FACE_TRACKING_TWO_THREAD      0x00110000   ///< 开启双线程人脸跟踪,建议低配置环境开启此选项。
/// @brief 创建实时人脸跟踪句柄。可以调用cv_face_track_set_detect_face_cnt_limit设置检测的最大人脸数目,默认为不限制人脸检测数量。
/// @param handle函数成功时被设置为有效的tracker handle
/// @param model_path 模型文件的绝对路径或相对路径,若不指定模型可为NULL
/// @param config 默认配置为CV_DETECT_ENABLE_ALIGN_21(21关键点检测)。支持106关键点检测CV_DETECT_ENABLE_ALIGN_106、自动缩放CV_FACE_RESIZE_IMG_XXXX和双线程跟踪CV_FACE_TRACKING_TWO_THREAD。
/// @param[out]   handle函数成功时被设置为有效的tracker handle
/// @param[in]   model_path 模型文件的绝对路径或相对路径,若不指定模型可为NULL
/// @param[in]   config 默认配置为CV_DETECT_ENABLE_ALIGN_21(21关键点检测)。支持106关键点检测CV_DETECT_ENABLE_ALIGN_106、自动缩放CV_FACE_RESIZE_IMG_XXXX和双线程跟踪CV_FACE_TRACKING_TWO_THREAD。
/// @return 返回CV_OK 失败返回错误码
CV_SDK_API
cv_result_t
@@ -163,7 +166,7 @@
);
/// @brief 销毁已初始化的实时人脸跟踪句柄
/// @param tracker_handle 已初始化的实时人脸跟踪句柄
/// @param[in] tracker_handle 已初始化的实时人脸跟踪句柄
CV_SDK_API
void
cv_face_destroy_tracker(
@@ -171,15 +174,15 @@
);
/// @brief 对连续视频帧进行实时快速人脸跟踪
/// @param tracker_handle 已初始化的实时人脸跟踪句柄
/// @param image 用于检测的图像数据
/// @param piexl_format 用于检测的图像数据的像素格式
/// @param image_width 用于检测的图像的宽度(以像素为单位)
/// @param image_height 用于检测的图像的高度(以像素为单位)
/// @param image_stride 用于检测的图像中每一行的跨度(以像素为单位),图像跨度=图像宽度*图像维度
/// @param orientation 视频中人脸的方向
/// @param p_faces_array 检测到的人脸信息数组,api负责分配内存,需要调用cv_facesdk_release_tracker_result函数释放
/// @param p_faces_count 检测到的人脸数量
/// @param[in]   tracker_handle 已初始化的实时人脸跟踪句柄
/// @param[in]   image 用于检测的图像数据
/// @param[in]   piexl_format 用于检测的图像数据的像素格式
/// @param[in]   image_width 用于检测的图像的宽度(以像素为单位)
/// @param[in]   image_height 用于检测的图像的高度(以像素为单位)
/// @param[in]   image_stride 用于检测的图像中每一行的跨度(以像素为单位),图像跨度=图像宽度*图像维度
/// @param[in]   orientation 视频中人脸的方向
/// @param[out]   p_faces_array 检测到的人脸信息数组,api负责分配内存,需要调用cv_facesdk_release_tracker_result函数释放
/// @param[out]   p_faces_count 检测到的人脸数量
/// @return 成功返回CV_OK,否则返回错误类型
CV_SDK_API
cv_result_t
@@ -196,7 +199,7 @@
);
/// @brief 重置人脸跟踪检测器
/// @param tracker_handle 已初始化的实时人脸跟踪句柄
/// @param[in] tracker_handle 已初始化的实时人脸跟踪句柄
CV_SDK_API
void
cv_face_reset_tracker(
@@ -204,8 +207,8 @@
);
/// @brief 释放实时人脸跟踪返回结果时分配的空间
/// @param faces_array 检测到的人脸信息数组
/// @param faces_count 检测到的人脸数量
/// @param[in] faces_array 检测到的人脸信息数组
/// @param[in] faces_count 检测到的人脸数量
CV_SDK_API
void
cv_face_release_tracker_result(
@@ -214,9 +217,9 @@
);
/// @brief 设置检测到的最大人脸数目N,持续track已检测到的N个人脸直到人脸数小于N再继续做detect,如果未调用则不对检测人脸数量做限制
/// @param tracker_handle 已初始化的实时人脸跟踪句柄
/// @param detect_face_cnt_limit 最大人脸数目N,-1表示不设上限
/// @param val 如果为非空指针,则返回采用的新的值,注意,由于内部的限制, 实际采用的值并不一定等于detect_face_cnt_limit
/// @param[in]   tracker_handle 已初始化的实时人脸跟踪句柄
/// @param[in]   detect_face_cnt_limit 最大人脸数目N,-1表示不设上限
/// @param[out]   val 如果为非空指针,则返回采用的新的值,注意,由于内部的限制, 实际采用的值并不一定等于detect_face_cnt_limit
/// @return 成功返回CV_OK,否则返回错误类型 (实际设置检测到的最大目标数目N可能小于detect_face_cnt_limit)
CV_SDK_API
cv_result_t