LFLivenessEnumType
LFLivenessEnumType类说明了活体检测所用到的枚举类型。
typedef NS_ENUM(NSInteger, LivefaceErrorType)
活体检测失败类型。
类型 | 说明 |
---|---|
LIVENES_INIT_FAILD | 算法SDK初始化失败 |
LIVENESS_CAMERA_ERROR | 相机权限获取失败 |
LIVENESS_TOKEN_INVALID | token验证未通过,无效token |
LIVENESS_TOKEN_UNBOUND | token验证未通过,bundle_id未绑定 |
LIVENESS_CAMERA_ERROR | 相机权限获取失败 |
LIVENESS_FACE_CHANGED | 人脸变更 |
LIVENESS_TIMEOUT | 检测动作超时 |
LIVENESS_WILL_RESIGN_ACTIVE | 应用即将被挂起(进入后台) |
LIVENESS_INTERNAL_ERROR | 内部错误 |
LIVENESS_OTHER_ERROR | 其他错误 |
LIVENESS_FACE_CHANGED_WAY | 中途人脸变更 |
示例代码:
- (void)livenessDidFailWithErrorType:(LivefaceErrorType)iErrorType detectionType:(LivefaceDetectionType)iDetectionType detectionIndex:(int)iDetectionIndex data:(NSData *)data lfImages:(NSArray *)arrLFImage lfVideoData:(NSData *)lfVideoData
{
LFMultipleLivenessError iLFMultipleError = 0;
switch (iErrorType) {
case LIVENESS_INIT_FAILD:
{
iLFMultipleError = LFMultipleLivenessInitFaild;
}
break;
case LIVENESS_CAMERA_ERROR:
{
iLFMultipleError = LFMultipleLivenessTokenInvalid;
}
break;
case LIVENESS_TOKEN_INVALID:
{
iLFMultipleError = LFMultipleLivenessTokenUnBound;
}
break;
case LIVENESS_TOKEN_UNBOUND:
{
iLFMultipleError = LFMultipleLivenessCameraError;
}
break;
case LIVENESS_FACE_CHANGED:
{
iLFMultipleError = LFMultipleLivenessFaceChanged;
}
break;
case LIVENESS_INTERNAL_ERROR:
{
iLFMultipleError = LFMultipleLivenessInternalError;
}
break;
case LIVENESS_TIMEOUT:
{
iLFMultipleError = LFMultipleLivenessTimeOut;
}
break;
case LIVENESS_WILL_RESIGN_ACTIVE:
{
iLFMultipleError = LFMultipleLivenessWillResignActive;
}
break;
case LIVENESS_BUNDLEID_ERROR:
{
iLFMultipleError = LFMultipleLivenessBundleIDError;
}
break;
case LIVENESS_AUTH_EXPIRE:
{
iLFMultipleError = LFMultipleLivenessAuthExpire;
}
break;
case LIVENESS_LICENSE_ERROR:
{
iLFMultipleError = LFMultipleLivenessLicenseError;
}
break;
case LINENESS_MODEL_EXPIRE:{
iLFMultipleError = LFMultipleLivenessModelError;
}
break;
case LINENESS_MODEL_SOURCE:{
iLFMultipleError = LFMultipleLivenessSourceError;
}
break;
case LINENESS_OTHER_ERROR:{
iLFMultipleError = LFMultipleLivenessOtherError;
}
break;
default:
break;
}
typedef NS_ENUM(NSInteger, LivefaceChangeValue)
活体检测提示类型。
类型 | 说明 |
---|---|
LIVE_FACE_NO | 没有人脸 |
LIVE_FACE_FAR | 太近了 |
LIVE_FACE_NEAR | 太远了 |
LIVE_FACE_MANY | 多张人脸 |
LIVE_FACE_HAVE | 检测到人脸 |
LIVE_FACE_NOMAL | 人脸符合要求 |
LIVE_FACE_NOENOUGH_LIGHT | 光线太暗了 |
LIVE_FACE_TOO_LIGHT | 光线太亮了 |
LIVE_FACE_POSE_ERROR | 请正对屏幕 |
示例代码:
/**
返回人脸数据是否符合要求和人脸对应的屏幕面积
@param faceChange 人脸光线亮度相关
@param faceArea 人脸面积
*/
- (void)livenessDidFaceChange:(LivefaceChangeValue)faceChange faceArea:(int)faceArea facePose:(LivefaceChangeValue)facePose;
typedef NS_ENUM(NSInteger, LivefaceDetectionType)
检测模块类型。枚举类型定义了眨眼、点头、张嘴、摇头四种。
类型 | 说明 |
---|---|
LIVE_NONE | 未定义类型 |
LIVE_BLINK | 眨眼检测 |
LIVE_NOD | 上下点头检测 |
LIVE_MOUTH | 张嘴检测 |
LIVE_YAW | 左右转头检测 |
示例代码:
- (void)livenessDidStartDetectionWithDetectionType:(LivefaceDetectionType)iDetectionType detectionIndex:(int)iDetectionIndex{
可以拿到返回数据类型
}
typedef NS_ENUM(NSUInteger, LivefaceOutputType)
类型 | 说明 |
---|---|
LIVE_OUTPUT_SINGLE_IMAGE | 单图方案 |
LIVE_OUTPU\T_MULTI_IMAGE | 多图方案 |
示例代码:
[livefaceVC setOutputType:iOutputType complexity:iComplexity];
typedef NS_ENUM(NSUInteger, LivefaceComplexity)
活体检测复杂度。
类型 | 说明 |
---|---|
LIVE_COMPLEXITY_EASY | 简单, 人脸变更时不会回调 LIVENESS_FACE_CHANGED 错误, 活体阈值低 |
LIVE_COMPLEXITY_NORMAL | 正常, 人脸变更时会回调 LIVENESS_FACE_CHANGED 错误, 活体阈值较低 |
LIVE_COMPLEXITY_HARD | 困难, 人脸变更时会回调 LIVENESS_FACE_CHANGED 错误, 活体阈值较高 |
LIVE_COMPLEXITY_HELL | 地狱, 人脸变更时会回调 LIVENESS_FACE_CHANGED 错误, 活体阈值最高 |
示例代码:
[livefaceVC setOutputType:iOutputType complexity:iComplexity];