0

我正在努力解释 kinect 深度数据。

为了获得与 kinect 的真实世界距离,我使用了以下公式:

  if(i<2047){
        depthToMeterTable[i] = i * -0.0030711016  + 3.3309495161; 
    }
    else{
        depthToMeterTable[i] = 0;
    }

这个公式作为距离估计器提供了一些很好的东西。

但是,我确实从 90° 墙角可视化中获得了奇怪的输出。

下图是两个不同的信息。首先,紫色线代表我应该看到的墙。一个 90° 角。红点代表从 kinect 看到的墙。如您所见,这两个平面的角度现在更大了。

http://img843.imageshack.us/img843/4061/kinectbias.jpg

你知道我可以在哪里纠正这种偏见,以及如何去做吗?

感谢您的阅读,

Al_th

4

1 回答 1

0

我不熟悉那个转换公式(也不确定你的 depthToMeterTable 是如何填充的——那里使用了什么公式)。

不过,libfreenect 中有一个内置函数:freenect_camera_to_world

在添加该实用函数之前,我使用了Matt Fischer 的转换函数(RawDepthToMeters 和 DepthToWorld)。

高温高压

于 2012-11-21T11:41:44.037 回答