我正在遵循https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/streaming_depth_data_from_the_truedepth_camera的指南。它用于AVCaptureDepthDataOutput()
从前置摄像头传输深度数据。
但是,其中两条边有错误的数据。在纵向模式下,它将是上边缘和右边缘。在逆时针旋转的横向中,它将位于左侧和上方。这是它的外观示例。这是来自教程,但我修改了一些代码。请注意,我确实将实际距离打印为数字,以确保它不是视频/颜色渲染的错误。 https://drive.google.com/file/d/1AGFHAZypmHz9136T02ufedz-X3Ct94Kq/view?usp=sharing
如果它只是将 3D 数据转换为 2D 数据的必要工件,我可以接受。但我正在寻找的是裁剪图像的“正确”方法,以便 2D 深度缓冲区在边缘没有这些伪影。我怎么知道作物的距离?我只是试验一下吗?如果是这样,我怎么知道它在所有设备上都一样?
另一个问题是,如果物体离相机太近,距离会被解释为最大距离而不是最小距离。这是预期的吗?