我正在使用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/