New file |
| | |
| | | #ifndef THFACEQUALITY_I_H
|
| | | #define THFACEQUALITY_I_H
|
| | |
|
| | | #include "THFaceImage_i.h"
|
| | |
|
| | | /*
|
| | | * ============================================================================
|
| | | * Name : THFaceQuality_i.h
|
| | | * Part of : Face Quality (THFaceQuality) SDK
|
| | | * Created : 5.11.2019 by XXX
|
| | | * Description:
|
| | | * THFaceQuality_i.h - Face Quality (THFaceQuality) SDK header file
|
| | | * Version : 1.0.0
|
| | | * Copyright: All Rights Reserved by XXXX
|
| | | * Revision:
|
| | | * ============================================================================
|
| | | */
|
| | |
|
| | | #define THFACEQUALITY_API extern "C"
|
| | |
|
| | | struct THFQ_Param
|
| | | {
|
| | | int brightness_min;//0-100,太暗阈值,建议25.越小越可能把过暗的人脸当作正常人脸,此参数会影响THFQ_Result::brightness
|
| | | int brightness_max;//0-100,太亮阈值,建议75.越大越可能把的过亮人脸当作正常人脸,此参数会影响THFQ_Result::brightness
|
| | | };
|
| | |
|
| | | struct THFQ_Result
|
| | | {
|
| | | int brightness;//人脸亮度,只有3种可能的值:[-1->太暗,0->正常,1->太亮],亮度结果会受亮度阈值参数brightness_min和brightness_max影响
|
| | | int occlusion;//人脸遮挡度,范围值为0-100,越大表示人脸遮挡程度越高
|
| | | int hat;//带帽子,范围为0-100,越大表示越可能有佩戴帽子,建议判别阈值为50
|
| | | int blur;//人脸模糊度,范围值为0-100,越大表示图像越模糊,建议人脸模糊度判别阈值为70
|
| | | int glasses;//带眼镜,范围为0-100,越大表示越可能有戴眼镜,建议判别阈值为70
|
| | | };
|
| | |
|
| | | THFACEQUALITY_API int THFQ_Create(short nChannelNum);
|
| | | /*
|
| | | 描述:初始化人脸质量模块,建议在应用程序初始化时调用一次
|
| | | 参数:
|
| | | nChannelNum[intput],算法通道数,一个线程使用一个通道
|
| | | 返回值:
|
| | | 大于0为成功初始化的通道数,小于等于0为加载模型失败
|
| | | */
|
| | |
|
| | | THFACEQUALITY_API void THFQ_Release();
|
| | | /*
|
| | | 描述:释放人脸质量模块,建议在应用程序退出时调用一次
|
| | | 参数:
|
| | | 无
|
| | | 返回值:
|
| | | 无
|
| | | */
|
| | |
|
| | | THFACEQUALITY_API void THFQ_SetParam(THFQ_Param* pParam);
|
| | | /*
|
| | | 描述:设置参数
|
| | | 参数:
|
| | | pParam[input],算法相关参数,主要是亮度阈值,如果参数为NULL,算法内部将使用默认值
|
| | | 返回值:
|
| | | 无
|
| | | */
|
| | |
|
| | | THFACEQUALITY_API int THFQ_Check(short nChannelID, BYTE* pImage, int bpp, int nWidth, int nHeight, THFI_FacePos* pfp,THFQ_Result* pResult);
|
| | | /*
|
| | | 描述:获取一个人脸的所有质量判别结果
|
| | | 参数:
|
| | | nChannelID[intput],通道id,与初始化THFQ_Create相关,一般来说合法的通道id为0到nChannelNum-1
|
| | | pImage[input],图像数据地址,图像数据必须为bgr顺序
|
| | | bpp[input],图像数据格式,必须为24,代表bgr三通道数据
|
| | | nWidth[input],图像宽
|
| | | nHeight[input],图像高
|
| | | pfp[input],人脸检测结果,由THFaceImage模块的人脸检测接口THFI_DetectFace返回的THFI_FacePos数据
|
| | | pResult[output],质量判别结果
|
| | | 返回值:
|
| | | -1,算法未初始化或通道id非法
|
| | | -2,图像数据参数非法
|
| | | -3,pfp或pResult为NULL
|
| | | 0,成功
|
| | | */
|
| | |
|
| | | THFACEQUALITY_API int THFQ_Check_Brightness(short nChannelID, BYTE* pImage, int bpp, int nWidth, int nHeight, THFI_FacePos* pfp, int* nBrightness);
|
| | | /*
|
| | | 描述:获取一个人脸的亮度判别结果
|
| | | 参数:
|
| | | nChannelID[intput],通道id,与初始化THFQ_Create相关,一般来说合法的通道id为0到nChannelNum-1
|
| | | pImage[input],图像数据地址,图像数据必须为bgr顺序
|
| | | bpp[input],图像数据格式,必须为24,代表bgr三通道数据
|
| | | nWidth[input],图像宽
|
| | | nHeight[input],图像高
|
| | | pfp[input],人脸检测结果,由THFaceImage模块的人脸检测接口THFI_DetectFace返回的THFI_FacePos数据
|
| | | nBrightness[output],亮度判别结果
|
| | | 返回值:
|
| | | -1,算法未初始化或通道id非法
|
| | | -2,图像数据参数非法
|
| | | -3,pfp或nBrightness为NULL
|
| | | 0,成功
|
| | | */
|
| | |
|
| | | THFACEQUALITY_API int THFQ_Check_Occlusion(short nChannelID, BYTE* pImage, int bpp, int nWidth, int nHeight, THFI_FacePos* pfp, int* nOcclusion);
|
| | | /*
|
| | | 描述:获取一个人脸的遮挡判别结果
|
| | | 参数:
|
| | | nChannelID[intput],通道id,与初始化THFQ_Create相关,一般来说合法的通道id为0到nChannelNum-1
|
| | | pImage[input],图像数据地址,图像数据必须为bgr顺序
|
| | | bpp[input],图像数据格式,必须为24,代表bgr三通道数据
|
| | | nWidth[input],图像宽
|
| | | nHeight[input],图像高
|
| | | pfp[input],人脸检测结果,由THFaceImage模块的人脸检测接口THFI_DetectFace返回的THFI_FacePos数据
|
| | | nOcclusion[output],遮挡判别结果
|
| | | 返回值:
|
| | | -1,算法未初始化或通道id非法
|
| | | -2,图像数据参数非法
|
| | | -3,pfp或nOcclusion为NULL
|
| | | 0,成功
|
| | | */
|
| | |
|
| | | THFACEQUALITY_API int THFQ_Check_Hat(short nChannelID, BYTE* pImage, int bpp, int nWidth, int nHeight, THFI_FacePos* pfp, int* nHat);
|
| | | /*
|
| | | 描述:获取一个人脸的帽子判别结果
|
| | | 参数:
|
| | | nChannelID[intput],通道id,与初始化THFQ_Create相关,一般来说合法的通道id为0到nChannelNum-1
|
| | | pImage[input],图像数据地址,图像数据必须为bgr顺序
|
| | | bpp[input],图像数据格式,必须为24,代表bgr三通道数据
|
| | | nWidth[input],图像宽
|
| | | nHeight[input],图像高
|
| | | pfp[input],人脸检测结果,由THFaceImage模块的人脸检测接口THFI_DetectFace返回的THFI_FacePos数据
|
| | | nHat[output],帽子判别结果
|
| | | 返回值:
|
| | | -1,算法未初始化或通道id非法
|
| | | -2,图像数据参数非法
|
| | | -3,pfp或nHat为NULL
|
| | | 0,成功
|
| | | */
|
| | |
|
| | | THFACEQUALITY_API int THFQ_Check_BlurGlasses(short nChannelID, BYTE* pImage, int bpp, int nWidth, int nHeight, THFI_FacePos* pfp, int* nBlur,int* nGlasses);
|
| | | /*
|
| | | 描述:获取一个人脸的模糊度与眼镜判别结果
|
| | | 参数:
|
| | | nChannelID[intput],通道id,与初始化THFQ_Create相关,一般来说合法的通道id为0到nChannelNum-1
|
| | | pImage[input],图像数据地址,图像数据必须为bgr顺序
|
| | | bpp[input],图像数据格式,必须为24,代表bgr三通道数据
|
| | | nWidth[input],图像宽
|
| | | nHeight[input],图像高
|
| | | pfp[input],人脸检测结果,由THFaceImage模块的人脸检测接口THFI_DetectFace返回的THFI_FacePos数据
|
| | | nBlur[output],模糊度判别结果
|
| | | nGlasses[output],眼镜判别结果
|
| | | 返回值:
|
| | | -1,算法未初始化或通道id非法
|
| | | -2,图像数据参数非法
|
| | | -3,pfp或nBlur或nGlasses为NULL
|
| | | 0,成功
|
| | | */
|
| | |
|
| | |
|
| | | #endif
|