解释无符号短深度图值

Interpreting unsigned short depth map values

我正在尝试在 lineMOD 对象检测数据集上测试我的算法。根据作者的说法,深度值存储为无符号短值。我已经设法将深度值加载到 cv::Mat 中,但我想将它们转换为典型的浮点表示法 [0,1].

起初我假设我只需要除以最大的无符号短整数,但事实并非如此,因为我发现的最大值似乎是 3399,而深度中有很多零地图。我想零意味着特定像素是深度相机无法检测到的太远的点。

难不成这些没有符号的短裤代表的是毫米?如果不是,我应该如何在应用生成点云的变换之前转换深度值?

我猜像素值不是毫米,而是一些相对值,因为深度相机更容易获得相对深度值而不是精确的毫米值,这些值甚至可能不是线性的。咨询作者获取更多信息。

您可以尝试以下几个选项:

  1. 请教作者,充分理解深度值的含义,然后进行相应的转换。
  2. 找出单个图像或所有图像中的实际像素范围是多少 你的图像,比如 [534, 4399],将其缩放到 [0.1, 1.0],将这些零设置为 0.0
  3. 简单地将unsigned short [0 ~ 65535]的全范围缩放到[0.0, 1.0]