ARFaceTrackingConfiguration – 深度图未对齐
ARFaceTrackingConfiguration – Depth map not aligned
我目前正在努力从 ARFaceTrackingConfiguration 获取深度图,但我在这方面遇到了一些麻烦,因为它就像深度图从 RGB 中漂移了一点(见图)。
所以我将我的配置声明为 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
}
}
之后我将深度和 rbg 都保存为 png 以显示它们。
谢谢
Depth
通道和 RGB
通道边缘之间的差异是由于 ARKit 3 中的深度通道是 15 fps 而不是 60 fps,而在 ARKit 4 和RealityKit 2 是 60 fps,但这 60 帧是 15 帧中相同的插值帧。此外,深度通道具有锯齿边缘,因为深度通道的抗锯齿功能已关闭。
有关详细信息,请查看 。
我目前正在努力从 ARFaceTrackingConfiguration 获取深度图,但我在这方面遇到了一些麻烦,因为它就像深度图从 RGB 中漂移了一点(见图)。
所以我将我的配置声明为 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
}
}
之后我将深度和 rbg 都保存为 png 以显示它们。
谢谢
Depth
通道和 RGB
通道边缘之间的差异是由于 ARKit 3 中的深度通道是 15 fps 而不是 60 fps,而在 ARKit 4 和RealityKit 2 是 60 fps,但这 60 帧是 15 帧中相同的插值帧。此外,深度通道具有锯齿边缘,因为深度通道的抗锯齿功能已关闭。
有关详细信息,请查看