| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557 |
- /*******************************************************************************
- * Copyright(c) ArcSoft, All right reserved.
- *
- * This file is ArcSoft's property. It contains ArcSoft's trade secret, proprietary
- * and confidential information.
- *
- * DO NOT DISTRIBUTE, DO NOT DUPLICATE OR TRANSMIT IN ANY FORM WITHOUT PROPER
- * AUTHORIZATION.
- *
- * If you are not an intended recipient of this file, you must not copy,
- * distribute, modify, or take any action in reliance on it.
- *
- * If you have received this file in error, please immediately notify ArcSoft and
- * permanently delete the original and any copy of any file and any printout
- * thereof.
- *********************************************************************************/
- #ifndef _ARCSOFT_SDK_ASF_H_
- #define _ARCSOFT_SDK_ASF_H_
- #include "amcomdef.h"
- #include "asvloffscreen.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define ASF_NONE 0x00000000 //无属性
- #define ASF_FACE_DETECT 0x00000001 //此处detect可以是tracking或者detection两个引擎之一,具体的选择由detect mode 确定
- #define ASF_FACERECOGNITION 0x00000004 //人脸特征
- #define ASF_AGE 0x00000008 //年龄
- #define ASF_GENDER 0x00000010 //性别
- #define ASF_LIVENESS 0x00000080 //RGB活体
- #define ASF_IMAGEQUALITY 0x00000200 //图像质量检测
- #define ASF_IR_LIVENESS 0x00000400 //IR活体
- #define ASF_MASKDETECT 0x00001000 //口罩检测
- #define ASF_UPDATE_FACEDATA 0x00002000 //更新人脸数据
- #define ASF_MAX_DETECTFACENUM 50 //该版本最大支持同时检测50张人脸
- //检测模式
- enum ASF_DetectMode{
- ASF_DETECT_MODE_VIDEO = 0x00000000, //Video模式,一般用于多帧连续检测
- ASF_DETECT_MODE_IMAGE = 0xFFFFFFFF //Image模式,一般用于静态图的单次检测
- };
- //检测时候人脸角度的优先级,在文档中初始化接口中有图示说明,请参考
- enum ASF_OrientPriority {
- ASF_OP_0_ONLY = 0x1, // 常规预览下正方向
- ASF_OP_90_ONLY = 0x2, // 基于0°逆时针旋转90°的方向
- ASF_OP_270_ONLY = 0x3, // 基于0°逆时针旋转270°的方向
- ASF_OP_180_ONLY = 0x4, // 基于0°旋转180°的方向(逆时针、顺时针效果一样)
- ASF_OP_ALL_OUT = 0x5 // 全角度
- };
- //orientation 角度,逆时针方向
- enum ASF_OrientCode {
- ASF_OC_0 = 0x1, // 0 degree
- ASF_OC_90 = 0x2, // 90 degree
- ASF_OC_270 = 0x3, // 270 degree
- ASF_OC_180 = 0x4, // 180 degree
- ASF_OC_30 = 0x5, // 30 degree
- ASF_OC_60 = 0x6, // 60 degree
- ASF_OC_120 = 0x7, // 120 degree
- ASF_OC_150 = 0x8, // 150 degree
- ASF_OC_210 = 0x9, // 210 degree
- ASF_OC_240 = 0xa, // 240 degree
- ASF_OC_300 = 0xb, // 300 degree
- ASF_OC_330 = 0xc // 330 degree
- };
- //检测模型
- enum ASF_DetectModel {
- ASF_DETECT_MODEL_RGB = 0x1 //RGB图像检测模型
- //预留扩展其他检测模型
- };
- //人脸比对可选的模型
- enum ASF_CompareModel{
- ASF_LIFE_PHOTO = 0x1, //用于生活照之间的特征比对,推荐阈值0.80
- ASF_ID_PHOTO = 0x2 //用于证件照或生活照与证件照之间的特征比对,推荐阈值0.82
- };
- enum ASF_RegisterOrNot{
- ASF_RECOGNITION = 0x0, //用于识别照人脸特征提取
- ASF_REGISTER = 0x1 //用于注册照人脸特征提取
- };
- //版本信息
- typedef struct {
- MPChar Version; // 版本号
- MPChar BuildDate; // 构建日期
- MPChar CopyRight; // Copyright
- }ASF_VERSION, *LPASF_VERSION;
- //图像数据
- typedef LPASVLOFFSCREEN LPASF_ImageData;
- //人脸属性信息
- typedef struct{
- MInt32* wearGlasses; // 戴眼镜状态, 0 未戴眼镜;1 戴眼镜;2 墨镜
- MInt32* leftEyeOpen; // 左眼状态 0 闭眼;1 睁眼
- MInt32* rightEyeOpen; // 右眼状态 0 闭眼;1 睁眼
- MInt32* mouthClose; // 张嘴状态 0 张嘴;1 合嘴
- } ASF_FaceAttributeInfo, *LPASF_FaceAttributeInfo;
- //3D角度信息
- typedef struct
- {
- MFloat* roll;
- MFloat* yaw;
- MFloat* pitch;
- }ASF_Face3DAngleInfo, *LPASF_Face3DAngleInfo;
- //人脸信息
- typedef struct{
- MPVoid data; // 人脸信息
- MInt32 dataSize; // 人脸信息长度
- } ASF_FaceDataInfo, *LPASF_FaceDataInfo;
- //单人脸信息
- typedef struct {
- MRECT faceRect; // 人脸框信息
- MInt32 faceOrient; // 输入图像的角度,可以参考 ArcFaceCompare_OrientCode
- ASF_FaceDataInfo faceDataInfo; // 单张人脸信息
- } ASF_SingleFaceInfo, *LPASF_SingleFaceInfo;
- //多人脸框信息
- typedef struct{
- MInt32 faceNum; // 检测到的人脸个数
- MRECT* faceRect; // 人脸框信息
- MInt32* faceOrient; // 输入图像的角度,可以参考 ArcFace_OrientCode .
- MInt32* faceID; // face ID
- LPASF_FaceDataInfo faceDataInfoList; // 人脸检测信息
- MInt32* faceIsWithinBoundary; // 人脸是否在边界内 0 人脸溢出;1 人脸在图像边界内
- MRECT* foreheadRect; // 人脸额头区域
- ASF_FaceAttributeInfo faceAttributeInfo; // 人脸属性信息
- ASF_Face3DAngleInfo face3DAngleInfo; // 人脸3D角度
- }ASF_MultiFaceInfo, *LPASF_MultiFaceInfo;
- // 激活文件信息
- typedef struct {
- MPChar startTime; //开始时间
- MPChar endTime; //截止时间
- MPChar activeKey; //激活码
- MPChar platform; //平台
- MPChar sdkType; //sdk类型
- MPChar appId; //APPID
- MPChar sdkKey; //SDKKEY
- MPChar sdkVersion; //SDK版本号
- MPChar fileVersion; //激活文件版本号
- }ASF_ActiveFileInfo, *LPASF_ActiveFileInfo;
- /*******************************************************************************************
- * 获取激活文件信息接口
- *******************************************************************************************/
- MRESULT ASFGetActiveFileInfo(
- LPASF_ActiveFileInfo activeFileInfo // [out] 激活文件信息
- );
- /*******************************************************************************************
- * 在线激活接口
- *******************************************************************************************/
- MRESULT ASFOnlineActivation(
- MPChar AppId, // [in] APPID 官网下载
- MPChar SDKKey, // [in] SDKKEY 官网下载
- MPChar ActiveKey // [in] ActiveKey 官网下载
- );
- /*******************************************************************************************
- * 获取设备信息接口
- *******************************************************************************************/
- MRESULT ASFGetActiveDeviceInfo(
- MPChar* deviceInfo // [out] 采集的设备信息,用于到开发者中心做离线激活,生成离线授权文件
- );
- /*******************************************************************************************
- * 离线激活接口
- *******************************************************************************************/
- MRESULT ASFOfflineActivation(
- MPChar filePath // [in] 许可文件路径(离线授权文件),需要读写权限
- );
- /************************************************************************
- * 初始化引擎
- ************************************************************************/
- MRESULT ASFInitEngine(
- ASF_DetectMode detectMode, // [in] ASF_DETECT_MODE_VIDEO 视频模式:适用于摄像头预览,视频文件识别
- // AF_DETECT_MODE_IMAGE 图片模式:适用于静态图片的识别
- ASF_OrientPriority detectFaceOrientPriority, // [in] 检测脸部的角度优先值,参考 ASF_OrientPriority
- MInt32 detectFaceMaxNum, // [in] 最大需要检测的人脸个数
- MInt32 combinedMask, // [in] 用户选择需要检测的功能组合,可单个或多个
- MHandle* hEngine // [out] 初始化返回的引擎handle
- );
- //******************************** 人脸 属性阈值 ***********************************
- typedef struct {
- MFloat eyeOpenThreshold; // [in] 睁眼幅度阈值,阈值越大睁眼幅度越大
- MFloat mouthCloseThreshold; // [in] 张嘴幅度阈值,阈值越大,张嘴幅度越小
- MFloat wearGlassesThreshold; // [in] 佩戴眼镜阈值
- }ASF_FaceAttributeThreshold, *LPASF_FaceAttributeThreshold;
- /************************************************************************
- * 取值范围[0-1], 默认阈值均为:0.5, 用户可以根据实际需求,设置遮挡范围
- ************************************************************************/
- MRESULT ASFSetFaceAttributeParam(
- MHandle hEngine, // [in] 引擎handle
- LPASF_FaceAttributeThreshold attributeThreshold // [in] 人脸属性阈值
- );
- /******************************************************
- * VIDEO模式:人脸追踪 IMAGE模式:人脸检测
- ******************************************************/
- MRESULT ASFDetectFaces(
- MHandle hEngine, // [in] 引擎handle
- MInt32 width, // [in] 图片宽度
- MInt32 height, // [in] 图片高度
- MInt32 format, // [in] 颜色空间格式
- MUInt8* imgData, // [in] 图片数据
- LPASF_MultiFaceInfo detectedFaces, // [out]检测到的人脸信息
- ASF_DetectModel detectModel = ASF_DETECT_MODEL_RGB // [in] 预留字段,当前版本使用默认参数即可
- );
- /******************************************************
- * VIDEO模式:人脸追踪 IMAGE模式:人脸检测
- * 图像数据以结构体形式传入,对采用更高字节对齐方式的图像兼容性更好
- ******************************************************/
- MRESULT ASFDetectFacesEx(
- MHandle hEngine, // [in] 引擎handle
- LPASF_ImageData imgData, // [in] 图片数据
- LPASF_MultiFaceInfo detectedFaces, // [out] 检测到的人脸信息
- ASF_DetectModel detectModel = ASF_DETECT_MODEL_RGB // [in] 预留字段,当前版本使用默认参数即可
- );
- /******************************************************
- * 传入修改后的人脸框,更新人脸信息,用于做双目对齐或其他策略
- * 注意:LPASF_MultiFaceInfo在该接口中既是入参也是出参
- ******************************************************/
- MRESULT ASFUpdateFaceData(
- MHandle hEngine, // [in] 引擎handle
- MInt32 width, // [in] 图片宽度
- MInt32 height, // [in] 图片高度
- MInt32 format, // [in] 颜色空间格式
- MUInt8 * imgData, // [in] 图片数据
- LPASF_MultiFaceInfo detectedFaces // [in/out]检测到的人脸信息
- );
- /******************************************************
- * 传入修改后的人脸框,更新人脸信息,用于做双目对齐或其他策略
- * 注意:LPASF_MultiFaceInfo在该接口中既是入参也是出参
- * 图像数据以结构体形式传入,对采用更高字节对齐方式的图像兼容性更好
- ******************************************************/
- MRESULT ASFUpdateFaceDataEx(
- MHandle hEngine, // [in] 引擎handle
- LPASF_ImageData imgData, // [in] 图像数据
- LPASF_MultiFaceInfo detectedFaces // [in/out] 检测到的人脸信息
- );
- /******************************************************
- * 图像质量检测,(RGB模式: 识别阈值:0.49 注册阈值:0.63 口罩模式:识别阈值:0.29)
- ******************************************************/
- MRESULT ASFImageQualityDetect(
- MHandle hEngine, // [in] 引擎handle
- MInt32 width, // [in] 图片宽度
- MInt32 height, // [in] 图片高度
- MInt32 format, // [in] 颜色空间格式
- MUInt8 * imgData, // [in] 图片数据
- LPASF_SingleFaceInfo faceInfo, // [in] 人脸位置信息
- MInt32 isMask, // [in] 仅支持传入1、0、-1,戴口罩 1,否则认为未戴口罩
- MFloat* confidenceLevel, // [out] 图像质量检测结果
- ASF_DetectModel detectModel = ASF_DETECT_MODEL_RGB // [in] 预留字段,当前版本使用默认参数即可
- );
- /******************************************************
- * 图像质量检测,(RGB模式: 识别阈值:0.49 注册阈值:0.63 口罩模式:识别阈值:0.29)
- * 图像数据以结构体形式传入,对采用更高字节对齐方式的图像兼容性更好
- ******************************************************/
- MRESULT ASFImageQualityDetectEx(
- MHandle hEngine, // [in] 引擎handle
- LPASF_ImageData imgData, // [in] 图片数据
- LPASF_SingleFaceInfo faceInfo, // [in] 人脸位置信息
- MInt32 isMask, // [in] 仅支持传入1、0、-1,戴口罩 1,否则认为未戴口罩
- MFloat* confidenceLevel, // [out] 图像质量检测结果
- ASF_DetectModel detectModel = ASF_DETECT_MODEL_RGB // [in] 预留字段,当前版本使用默认参数即可
- );
- /************************************************************************
- * 年龄/性别/人脸3D角度/口罩/遮挡/额头区域(该接口仅支持RGB图像),最多支持4张人脸信息检测,超过部分返回未知
- * RGB活体仅支持单人脸检测,该接口不支持检测IR活体
- ************************************************************************/
- MRESULT ASFProcess(
- MHandle hEngine, // [in] 引擎handle
- MInt32 width, // [in] 图片宽度
- MInt32 height, // [in] 图片高度
- MInt32 format, // [in] 颜色空间格式
- MUInt8* imgData, // [in] 图片数据
- LPASF_MultiFaceInfo detectedFaces, // [in] 人脸信息,用户根据待检测的功能选择需要使用的人脸。
- MInt32 combinedMask // [in] 只支持初始化时候指定需要检测的功能,在process时进一步在这个已经指定的功能集中继续筛选
- // 例如初始化的时候指定检测年龄和性别,在process的时候可以只检测年龄,但是不能检测除年龄和性别之外的功能
- );
- /************************************************************************
- * 年龄/性别/人脸3D角度/口罩/遮挡/额头区域(该接口仅支持RGB图像),最多支持4张人脸信息检测,超过部分返回未知
- * RGB活体仅支持单人脸检测,该接口不支持检测IR活体
- * 图像数据以结构体形式传入,对采用更高字节对齐方式的图像兼容性更好
- ************************************************************************/
- MRESULT ASFProcessEx(
- MHandle hEngine, // [in] 引擎handle
- LPASF_ImageData imgData, // [in] 图片数据
- LPASF_MultiFaceInfo detectedFaces, // [in] 人脸信息,用户根据待检测的功能选择需要使用的人脸。
- MInt32 combinedMask // [in] 只支持初始化时候指定需要检测的功能,在process时进一步在这个已经指定的功能集中继续筛选
- // 例如初始化的时候指定检测年龄和性别,在process的时候可以只检测年龄,但是不能检测除年龄和性别之外的功能
- );
- /************************************************************************
- * 该接口目前仅支持单人脸IR活体检测,默认取第一张人脸
- ************************************************************************/
- MRESULT ASFProcess_IR(
- MHandle hEngine, // [in] 引擎handle
- MInt32 width, // [in] 图片宽度
- MInt32 height, // [in] 图片高度
- MInt32 format, // [in] 颜色空间格式
- MUInt8* imgData, // [in] 图片数据
- LPASF_MultiFaceInfo detectedFaces, // [in] 人脸信息,用户根据待检测的功能选择需要使用的人脸。
- MInt32 combinedMask // [in] 目前只支持传入ASF_IR_LIVENESS属性的传入,且初始化接口需要传入
- );
- /************************************************************************
- * 该接口目前仅支持单人脸IR活体检测,默认取第一张人脸
- * 图像数据以结构体形式传入,对采用更高字节对齐方式的图像兼容性更好
- ************************************************************************/
- MRESULT ASFProcessEx_IR(
- MHandle hEngine, // [in] 引擎handle
- LPASF_ImageData imgData, // [in] 图片数据
- LPASF_MultiFaceInfo detectedFaces, // [in] 人脸信息,用户根据待检测的功能选择需要使用的人脸。
- MInt32 combinedMask // [in] 目前只支持传入ASF_IR_LIVENESS属性的传入,且初始化接口需要传入
- );
- //******************************** 人脸识别相关 *********************************************
- typedef struct {
- MByte* feature; // 人脸特征信息
- MInt32 featureSize; // 人脸特征信息长度
- }ASF_FaceFeature, *LPASF_FaceFeature;
- typedef struct{
- MInt32 searchId; // 唯一标识符
- LPASF_FaceFeature feature; // 人脸特征值
- MPCChar tag; // 备注
- }ASF_FaceFeatureInfo, *LPASF_FaceFeatureInfo;
- /************************************************************************
- * 单人脸特征提取
- ************************************************************************/
- MRESULT ASFFaceFeatureExtract(
- MHandle hEngine, // [in] 引擎handle
- MInt32 width, // [in] 图片宽度
- MInt32 height, // [in] 图片高度
- MInt32 format, // [in] 颜色空间格式
- MUInt8* imgData, // [in] 图片数据
- LPASF_SingleFaceInfo faceInfo, // [in] 单张人脸位置和角度信息
- ASF_RegisterOrNot registerOrNot, // [in] 注册 1 识别为 0
- MInt32 mask, // [in] 带口罩 1,否则0
- LPASF_FaceFeature feature // [out] 人脸特征
- );
- /************************************************************************
- * 单人脸特征提取
- * 图像数据以结构体形式传入,对采用更高字节对齐方式的图像兼容性更好
- ************************************************************************/
- MRESULT ASFFaceFeatureExtractEx(
- MHandle hEngine, // [in] 引擎handle
- LPASF_ImageData imgData, // [in] 图像数据
- LPASF_SingleFaceInfo faceInfo, // [in] 单张人脸位置和角度信息
- ASF_RegisterOrNot registerOrNot, // [in] 注册 1 识别为 0
- MInt32 mask, // [in] 带口罩 1,否则0
- LPASF_FaceFeature feature // [out] 人脸特征
- );
- /************************************************************************
- * 人脸特征比对,推荐阈值 ASF_LIFE_PHOTO:0.80 ASF_ID_PHOTO:0.82
- ************************************************************************/
- MRESULT ASFFaceFeatureCompare(
- MHandle hEngine, // [in] 引擎handle
- LPASF_FaceFeature feature1, // [in] 待比较人脸特征1
- LPASF_FaceFeature feature2, // [in] 待比较人脸特征2
- MFloat* confidenceLevel, // [out] 比较结果,置信度数值
- ASF_CompareModel compareModel = ASF_LIFE_PHOTO // [in] ASF_LIFE_PHOTO:用于生活照之间的特征比对
- // ASF_ID_PHOTO:用于证件照或证件照和生活照之间的特征比对
- );
- /************************************************************************
- * 搜索人脸特征,推荐阈值 ASF_LIFE_PHOTO:0.80 ASF_ID_PHOTO:0.82
- ************************************************************************/
- MRESULT ASFFaceFeatureCompare_Search(
- MHandle hEngine, // [in] 引擎handle
- LPASF_FaceFeature feature, // [in] 待比较人脸特征
- MFloat* confidenceLevel, // [out] 比较结果,最大置信度数值
- LPASF_FaceFeatureInfo featureInfo, // [out] 最大置信度人脸信息
- ASF_CompareModel compareModel = ASF_LIFE_PHOTO // [in] 搜索模式
- );
- /************************************************************************
- * 注册人脸特征
- ************************************************************************/
- MRESULT ASFRegisterFaceFeature(
- MHandle hEngine, // [in] 引擎handle
- LPASF_FaceFeatureInfo featureInfoList, // [in] 注册列表
- MInt32 size // [in] 列表数量
- );
- /************************************************************************
- * 删除人脸特征
- ************************************************************************/
- MRESULT ASFRemoveFaceFeature(
- MHandle hEngine, // [in] 引擎handle
- MInt32 searchId // [in] 待删除人脸ID
- );
- /************************************************************************
- * 更新人脸特征
- ************************************************************************/
- MRESULT ASFUpdateFaceFeature(
- MHandle hEngine, // [in] 引擎handle
- LPASF_FaceFeatureInfo featureInfo // [in] 待更新人脸特征
- );
- /************************************************************************
- * 获取人脸特征
- ************************************************************************/
- MRESULT ASFGetFaceFeature(
- MHandle hEngine, // [in] 引擎handle
- MInt32 searchId, // [in] 查询人脸ID
- LPASF_FaceFeatureInfo featureInfo // [out] 注册时信息
- );
- /************************************************************************
- * 获取人脸数量
- ************************************************************************/
- MRESULT ASFGetFaceCount(
- MHandle hEngine, // [in] 引擎handle
- MInt32* num // [out] 人脸数量
- );
- //******************************** 年龄相关 **********************************************
- typedef struct {
- MInt32* ageArray; // "0" 代表不确定,大于0的数值代表检测出来的年龄结果
- MInt32 num; // 检测的人脸个数
- }ASF_AgeInfo, *LPASF_AgeInfo;
- /************************************************************************
- * 获取年龄信息
- ************************************************************************/
- MRESULT ASFGetAge(
- MHandle hEngine, // [in] 引擎handle
- LPASF_AgeInfo ageInfo // [out] 检测到的年龄信息
- );
- //******************************** 性别相关 **********************************************
- typedef struct {
- MInt32* genderArray; // "0" 表示 男性, "1" 表示 女性, "-1" 表示不确定
- MInt32 num; // 检测的人脸个数
- }ASF_GenderInfo, *LPASF_GenderInfo;
- /************************************************************************
- * 获取性别信息
- ************************************************************************/
- MRESULT ASFGetGender(
- MHandle hEngine, // [in] 引擎handle
- LPASF_GenderInfo genderInfo // [out] 检测到的性别信息
- );
- //******************************** 活体信息 ***********************************
- typedef struct {
- MFloat thresholdmodel_BGR;
- MFloat thresholdmodel_IR;
- MFloat thresholdmodel_FQ;
- }ASF_LivenessThreshold, *LPASF_LivenessThreshold;
- /************************************************************************
- * 获取相关活体阈值
- ************************************************************************/
- MRESULT ASFGetLivenessParam(
- MHandle hEngine, // [in] 引擎handle
- LPASF_LivenessThreshold threshold // [out] 活体置信度
- );
- /************************************************************************
- * 取值范围[0-1],默认值 BGR:0.5 IR:0.5, FQ:0.65, 用户可以根据实际需求,设置不同的阈值
- ************************************************************************/
- MRESULT ASFSetLivenessParam(
- MHandle hEngine, // [in] 引擎handle
- LPASF_LivenessThreshold threshold // [in] 活体置信度
- );
- typedef struct {
- MInt32* isLive; // [out] 判断是否真人, 0:非真人;
- // 1:真人;
- // -1:不确定;
- // -2:传入人脸数>1;
- // -3: 人脸过小
- // -4: 角度过大
- // -5: 人脸超出边界
- // -6: 深度图错误
- // -7: 红外图太亮了
- // -8: 红外图太暗了
- // -100: 人脸质量错误
- MInt32 num;
- }ASF_LivenessInfo, *LPASF_LivenessInfo;
- /************************************************************************
- * 获取RGB活体结果
- ************************************************************************/
- MRESULT ASFGetLivenessScore(
- MHandle hEngine, // [in] 引擎handle
- LPASF_LivenessInfo livenessInfo // [out] 检测RGB活体结果
- );
- /************************************************************************
- * 获取IR活体结果
- ************************************************************************/
- MRESULT ASFGetLivenessScore_IR(
- MHandle hEngine, // [in] 引擎handle
- LPASF_LivenessInfo irLivenessInfo // [out] 检测到IR活体结果
- );
- //******************************** 口罩检测相关 **********************************************
- typedef struct
- {
- MInt32* maskArray; // "0" 代表没有带口罩,"1"代表带口罩 ,"-1"表不确定
- MInt32 num; // 检测的人脸个数
- }ASF_MaskInfo, *LPASF_MaskInfo;
- /************************************************************************
- * 获取口罩检测的结果
- ************************************************************************/
- MRESULT ASFGetMask(
- MHandle hEngine, // [in] 引擎handle
- LPASF_MaskInfo maskInfo // [out] 检测到的口罩检测相关
- );
- /************************************************************************
- * 销毁引擎
- ************************************************************************/
- MRESULT ASFUninitEngine(
- MHandle hEngine
- );
- /************************************************************************
- * 获取版本信息
- ************************************************************************/
- const ASF_VERSION ASFGetVersion();
- #ifdef __cplusplus
- }
- #endif
- #endif
|