Ios 什么';处理边缘附近TrueDepth摄影机缓冲区中的瑕疵的正确方法是什么?

Ios 什么';处理边缘附近TrueDepth摄影机缓冲区中的瑕疵的正确方法是什么?,ios,iphone,truedepth-camera,Ios,Iphone,Truedepth Camera,我正在跟随来自中国的导游。它使用AVCaptureDepthDataOutput()从前置摄像头传输深度数据 但是,其中两条边有错误的数据。在纵向模式下,它将是上边缘和右边缘。在逆时针旋转的景观中,它将位于左侧和上方。 下面是一个它看起来如何的例子。这是教程中的内容,但我稍微修改了一段代码。注意,我确实将实际距离打印为一个数字,以确保它不是视频/颜色渲染的错误。 如果这只是从3D到2D数据转换的必要工件,我可以接受。但我要寻找的是裁剪图像的“正确”方法,这样2D深度缓冲区的边缘就不会有这些瑕疵

我正在跟随来自中国的导游。它使用
AVCaptureDepthDataOutput()
从前置摄像头传输深度数据

但是,其中两条边有错误的数据。在纵向模式下,它将是上边缘和右边缘。在逆时针旋转的景观中,它将位于左侧和上方。 下面是一个它看起来如何的例子。这是教程中的内容,但我稍微修改了一段代码。注意,我确实将实际距离打印为一个数字,以确保它不是视频/颜色渲染的错误。

如果这只是从3D到2D数据转换的必要工件,我可以接受。但我要寻找的是裁剪图像的“正确”方法,这样2D深度缓冲区的边缘就不会有这些瑕疵。我怎么知道要收割多远?我只是用它做实验吗?如果是这样,我怎么知道它在所有设备上都是一样的

另一个问题是,如果对象离摄影机太近,该距离将被解释为最大距离,而不是最小距离。这是预期的吗?

关闭“平滑深度”,缓冲区将更加清晰和一致(例如小于50像素)。可以安全地假设边缘附近的任何值都是不精确的,因此,以类似于50的量插入,您应该进行实验,看看什么最适合您

如果接近报告为最大值的值,则应检查
float.isNan
float.isInfinite
并过滤掉这些值。存在无法检测到比该距离更近的对象的情况。

关闭“平滑深度”,缓冲区将更加清晰和一致(例如,小于50像素)。可以安全地假设边缘附近的任何值都是不精确的,因此,以类似于50的量插入,您应该进行实验,看看什么最适合您

如果接近报告为最大值的值,则应检查
float.isNan
float.isInfinite
并过滤掉这些值。存在一种无法检测到比该距离更近的物体的情况