Demo 地址 : https://github.com/wwpeter/FaceID.git
https://img-blog.csdnimg.cn/2020072417
iOS 系统自带了人脸识别的方法,而且非常简单。无论针对图片 or 摄像头,都有系统级方法。
一、使用 AVCaptureVideoDataOutput
需要实现AVCaptureVideoDataOutputSampleBufferDelegate
的代理方法。
这个 delegate 会返回每个视频帧给我们,但不是我们常见的 UIImage,需要我们做格式转换。
并且 delegate 是在非主线程,我们要做 UI 展示的时候,需要主动切换主线程。
你还是可以用视频获取到的每一帧转换为 UIImage 来识别,速度就...所以我们不会直接用这种方法来做人脸识别。
//摄像头相关设置
-(void)faceDeviceInit{
//1.获取输入设备(摄像头)
NSArray *devices = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionFront].devices;
AVCaptureDevice *deviceF = devices[0];
//2.根据输入设备创建输入对象
AVCaptureDeviceInput*input = [[AVCaptureDeviceInput alloc] initWithDevice:deviceF error:nil];
//