AVFoundation人脸检测框架

时间:2016-05-17 23:13:51

标签: ios objective-c iphone camera avfoundation

我正在开发一个带有AVFoundation的项目,在那里我可以检测到面部并在图片中添加内容(在拍照之前)。我已经实现了预览图层和图像捕获。

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

TIA

1 个答案:

答案 0 :(得分:5)

您可以使用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

获得面部矩形