您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在iOS 11和Swift 4中从相机捕获深度数据?

如何在iOS 11和Swift 4中从相机捕获深度数据?

首先,您需要使用双摄像头,否则您将不会获得任何深度数据。

let device = AVCaptureDevice.default(.builtInDualCamera, for: .video, position: .back)

并保留对您队列的引用

let dataOutputQueue = DispatchQueue(label: "data queue", qos: .userInitiated, attributes: [], autoreleaseFrequency: .workItem)

您可能还想同步视频和深度数据

var outputSynchronizer: AVCaptureDataOutputSynchronizer?

然后,您可以像这样在viewDidLoad()方法中同步两个输出

if sessionOutput?.isDepthDataDeliverySupported {
    sessionOutput?.isDepthDataDeliveryEnabled = true
    depthDataOutput?.connection(with: .depthData)!.isEnabled = true
    depthDataOutput?.isFilteringEnabled = true
    outputSynchronizer = AVCaptureDataOutputSynchronizer(dataOutputs: [sessionOutput!, depthDataOutput!])
    outputSynchronizer!.setDelegate(self, queue: self.dataOutputQueue)
}

我建议您观看WWDC会话507-他们还提供了完全符合您想要的功能的示例应用程序。

https://developer.apple.com/videos/play/wwdc2017/507/

Swift 2022/1/1 18:13:41 有682人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶