这是与此问题类似的问题,但未收到任何答案。我要问一个新问题,因为我的边界与上一个问题完全不同。
我正在检测一个人的脸,AVCaptureSession
并在脸上的屏幕上添加一个矩形。我现在希望能够捕获我添加到屏幕的 UIView 背后的内容。如果这不可能,我可以满足于使用 box 裁剪从 captureOutput 进来的每一帧CGRect
。我该怎么做这些事情?
这是我正在使用的代码,它采用面部矩形并在其上显示 UIView:
func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
for face in metadataObjects {
let transformedMetadataObject = self.cameraLayer.transformedMetadataObject(for: face)!
let rect = transformedMetadataObject.bounds
let box = UIView.init(frame: rect)
box.backgroundColor = UIColor.init(red: 1, green: 1, blue: 1, alpha: 0.5)
for faceRect in faceRects {
faceRect.removeFromSuperview()
}
faceRects.append(box)
self.view.addSubview(box)
}
}