Swift ARFaceTrackingConfiguration–;深度贴图未对齐

Swift ARFaceTrackingConfiguration–;深度贴图未对齐,swift,augmented-reality,arkit,realitykit,Swift,Augmented Reality,Arkit,Realitykit,我目前正在努力从ARFaceTrackingConfiguration获取深度贴图,但我遇到了一些问题,因为这就像深度贴图从RGB one偏移了一点(见图) 因此,我将配置声明为ARFaceTrackingConfiguration并设置会话。 当深度贴图准备好被捕获时,我使用一个委托来等待深度贴图 func session(_ session: ARSession, didUpdate frame: ARFrame) { if (isRecording) { if (fra

我目前正在努力从ARFaceTrackingConfiguration获取深度贴图,但我遇到了一些问题,因为这就像深度贴图从RGB one偏移了一点(见图)

因此,我将配置声明为ARFaceTrackingConfiguration并设置会话。 当深度贴图准备好被捕获时,我使用一个委托来等待深度贴图

func session(_ session: ARSession, didUpdate frame: ARFrame) {
   if (isRecording) {
      if (frame.capturedDepthData? != nil){
          let capturedFrame = frame
          captureImages(frame: capturedFrame)
      }
   }    
}
我从画面中捕捉到了相机、深度贴图和rgb图像

func captureImages(frame: ARFrame){
   let camera = frame.camera
   let pixelBuffer = frame.capturedImage
   guard let depthBuffer = frame.capturedDepthData else {
      print("Dropped, no depthBuffer")
      return
   }
}
之后,我将depth和rbg保存为png以显示它们


感谢深度
通道和
RGB
通道边缘之间的差异是因为ARKit 3中的深度通道是15 fps而不是60 fps,ARKit 4和RealityKit 2中的深度通道是60 fps,但这60帧是15帧中相同的插值帧


有关更多信息,请查看。

深度通道和RGB通道边缘之间的差异是由于ARKit 3中的深度通道为15 fps而不是60 fps,ARKit 4和RealityKit 2中的深度通道为60 fps,但这60帧是15帧中相同的插值帧

有关更多信息,请参阅