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
参数 | 说明 |
---|---|
token | token 必传 时效性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 开关