我正在使用AVFoundation进行一个项目,在该项目中我可以检测到人脸并向照片中添加一些东西(拍摄照片之前)。我已经实现了预览层和图像捕获。

我的问题是,如何引入人脸检测并获取人脸对象的帧/位置?然后可以在预览层的顶部添加一些内容,使其也被捕获到图片中(想想新的手套式滤镜)吗?

TIA

最佳答案

您可以使用AvCaptureMetadataOutput获取在frame中找到的元数据:

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获取面部矩形

关于ios - AVFoundation人脸检测框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37287685/

10-12 04:55