iOS开发-面部距离识别 Vision 护眼模式 儿童防近视功能
前言-基于Vision和CIDetector
iOS开发中有需要让儿童保持观看距离的功能,护眼模式。
举例
大概思路
API
+ (BOOL)isSupported;
- (void)setCompleteBlock:(FDFacedistanceBlock)block;
- (void)start;
- (void)stop;
- (void)pause;
- (void)resume;
使用
- (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:self.label];
__weak typeof(self) weakSelf = self;
[FDFacetoCameradistance startWithConfiguration:[self createFDConfig] detectBlock:^(BOOL success, NSUInteger distance) {
NSLog(@"face distance %ld", distance);
if(distance > 100) {
NSLog(@"has not get you face");
} else {
weakSelf.label.text = [Nsstring stringWithFormat:@"face distance is %ld", distance];
}
}];
}
- (FDConfiguration *)createFDConfig {
FDConfiguration *config = [[FDConfiguration alloc] init];
config.repeatCount = NSIntegerMax;
config.firstRepeatDelay = 5.0;
config.timeInterval = 2.0;
return config;
}