我正在努力解释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
答案 0 :(得分:0)
我不熟悉那个转换公式(也不确定你的depthToMeterTable是如何填充的 - 那里使用了什么公式)。
但是libfreenect中有一个内置函数:freenect_camera_to_world
在添加效用函数之前,我使用了Matt Fischer's conversion functions(RawDepthToMeters和DepthToWorld)。
HTH