API接口说明

优质
小牛编辑
126浏览
2023-12-01

LFLivenessDetector 类用于活体检测库,封装了进入活体检测所需要调用的方法。下面分别介绍主要使用的方法:

- (instancetype)initWithDuration:(double)dDurationPerModel resourcesBundlePath:(NSString *)strBundlePath

初始化方法。

参数说明
dDurationPerModel每个动作允许的最大检测时间,小于等于0时为不设置超时时间
strBundlePath活体资源 lf_liveness_resource.bundle 的路径,默认获取framework内的
返回值活体检测器实例

示例代码:

self.detector = [[LFLivenessDetetorManager alloc] initWithDuration:fDurationresourcesBundlePath:strBundlePath];

- (void)setDelegate:(id )delegate callBackQueue:(dispatch_queue_t)queue detectionSequence:(NSArray *)arrDetection;

活体检测器配置方法。

参数说明
delegate回调代理
queue回调线程
arrDetection动作序列, 如 @[@(LIVE_BLINK) ,@(LIVE_MOUTH) ,@(LIVE_NOD) ,@(LIVE_YAW)] , 参照 LFLivenessEnumType.h

示例代码:

[self.detector setDelegate:self callBackQueue:queue detectionSequence:arrDetection];

- (void)checkToken:(NSString * _Nullable )token callback:(LFLivenessDetetorResultBlock)callback;

校验Token

由于 token 的唯一性,每一次调用 startDetection 检测方法都需要重新初始化该 Manager

参数说明
tokentoken 必传 时效性5分钟
callback返回token校验结果

示例代码:

[self.detectorManger checkToken:self.token callback:callback];

- (void)trackAndDetectWithCMSampleBuffer:(CMSampleBufferRef)sampleBuffer;

该函数的作用是对连续输入帧进行人脸跟踪。

参数说明
sampleBuffer每一帧的图像数据

示例代码:

[self.detectorManger trackAndDetectWithCMSampleBuffer:sampleBuffer faceOrientation:LIVE_FACE_LEFT];

- (void)setOutputType:(LivefaceOutputType)iOutputType complexity:(LivefaceComplexity)iComplexity;

设置活体检测器难易度, 可根据需求在 startDetection 之前调用使生效。

参数说明
iComplexity活体检测的复杂度, 默认为 LIVE_COMPLEXITY_NORMAL

示例代码:

[self.detectorManger setOutputType:iOutputType complexity:iComplexity];

- (void)startDetection;

开始检测

示例代码:

[self.detectorManger startDetection];

- (void)cancelDetection;

取消检测。

示例代码:

[self.detectorManger cancelDetection];

+ (NSString *)getSDKVersion;

获取SDK版本。

参数说明
返回值SDK版本

示例代码:

[LFLivenessDetector getSDKVersion]

Debug 开关

@property(nonatomic,assign)BOOL bDebug;