【问题标题】:AVFoundation Face Detection FrameAVFoundation 人脸检测框
【发布时间】:2016-09-14 05:40:01
【问题描述】:
我正在使用 AVFoundation 开展一个项目,在该项目中我可以检测面部并向图片添加一些内容(在拍照之前)。我已经实现了预览层和图像捕获。
我的问题,如何引入人脸检测并获取人脸对象的框架/位置?是否可以在预览层的顶部添加一些东西,以便它也被捕获在图片中(想想新的 snapchat 过滤器)?
TIA
【问题讨论】:
标签:
ios
objective-c
iphone
camera
avfoundation
【解决方案1】:
您可以使用 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得到人脸矩形了