洛阳学员端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

144 lines
3.1 KiB

//
// Toyger.h
// ToygerAlgorithm
//
// Created by 王伟伟 on 2018/1/22.
// Copyright © 2018年 DTF. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <ToygerService/ToygerPublicDefine.h>
#import <ToygerService/ToygerConfig.h>
#ifdef USE_SENSOR
#import <ToygerService/ToygerSensorHandler.h>
#endif
@class ToygerServiceInstance;
@class ToygerFrame;
//extern NSString *const kCipherDataKey;
//extern NSString *const kDTFPubKey;
//extern NSString *const kUserIDKey;
@protocol ToygerServiceInstanceDelegate<NSObject>
/**
ToygerService处理完一帧后的状态更新的回调
@param instance 算法实例
@param frame 返回的帧
*/
- (void)toygerService:(ToygerServiceInstance *)instance frameDidUpdate:(ToygerFrame *)frame;
/**
ToygerService事件触发
@param instance 算法实例
@param eventDict 触发的事件Dictionary
*/
- (void)toygerService:(ToygerServiceInstance *)instance triggerEvent:(NSDictionary *)eventDict;
/**
ToygerService埋点
@param instance 算法实例
@param eventDict
*/
- (void)toygerService:(ToygerServiceInstance *)instance triggerMonitor:(NSDictionary *)monitorDataDict;
/**
ToygerService采集结束
@param instance 算法实例
@param completionDict 算法结束回调
*/
- (void)toygerService:(ToygerServiceInstance *)instance captureDidComplete:(NSDictionary *)completionDict;
@optional
/**
ToygerService采集到一张高清人脸大图(人脸算法才有)
@param instance 算法实例
@param image 采集到的Image
*/
- (void)toygerService:(ToygerServiceInstance *)instance didGetHighQualityImage:(UIImage *)image;
@end
@interface ToygerServiceInstance : NSObject
/**
设置算法的配置
*/
@property (nonatomic, strong) ToygerConfig *config;
/**
ToygerInstace的代理
*/
@property (nonatomic, weak) id<ToygerServiceInstanceDelegate> delegate;
/**
密文秘钥
*/
@property (nonatomic, strong)NSString *aesCipher;
/**
初始化Toyger算法.
提前初始化可以加快算法的启动速度
@return Toyger算法实例
*/
- (instancetype)initWithType:(ToygerServiceType)type andExtInfo:(NSDictionary *)extInfo errorPtr:(NSError **)errorPtr NS_DESIGNATED_INITIALIZER;
/**
Toyger算法处理图片
@param sampleBuffer 摄像头传入的SampleBuffer
*/
- (void)processImage:(CMSampleBufferRef)sampleBuffer byOrientation:(UIImageOrientation)orientation extraInfo:(NSDictionary *)extra;
/**
Toyger处理最佳图
*/
- (void)processBestImage;
#ifdef USE_SENSOR
- (void)processSensorData:(ToygerSensorData *) sensorData withExtraInfo:(NSDictionary *)extra;
#endif
/**
对于算法不支持的类型,需要组装数据
@param image 传入的图片
@return 返回要上传的内容
*/
- (NSData *)dataWithSurveillance:(NSArray<UIImage *> *)surveillance byType:(ToygerServiceType)toygerType extraInfo:(NSDictionary *)extraInfo;
- (NSData *)dataWithDocCaptureImage:(UIImage *)image andAeskey:(NSString *)aesKey extraInfo:(NSDictionary *)extraInfo;
/**
重置算法的状态
*/
- (void)reset;
/**
返回算法的MetaInfo
@return metaInfo
*/
+ (NSArray<NSString *> *)metaInfo;
/**
+获取活体检测后的状态
*/
+(NSInteger)getToygerState;
@end