2016-05-17 111 views
0

我正在使用AVFoundation进行项目工作,在该工程中,我可以检测人脸并在图片上添加某些内容(拍摄照片之前)。我已经实现了预览图层和图像捕捉。AVFoundation人脸检测框架

我的问题,我该如何引入人脸检测并获取人脸对象的框架/位置?是否可以在预览图层顶部添加一些内容,以便它也可以在图片中捕获(想想新的Snapchat滤镜)?

TIA

+1

脸部矩形你检查出苹果的squareCam项目? https://developer.apple.com/library/ios/samplecode/SquareCam/Introduction/Intro.html这里有人脸检测。 – Ro4ch

回答

4

您可以使用AvCaptureMetadataOutput获得在帧中找到元数据:

func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) { 
    for metadataObject in metadataObjects as [AVMetadataObject] { 
     if metadataObject.type == AVMetadataObjectTypeFace { 
     var transformedMetadataObject = previewLayer.transformedMetadataObjectForMetadataObject(metadataObject) 
     } 
    } 
} 

然后你可以从transformedMetadataObject.bounds