我正在使用 libfreenect 驱动程序上的 Kinect(原始 Xbox 版本)(顺便说一下,我在 Ubuntu 12.04 上)。我已经从 git 克隆了最新版本并手动安装,按照这里的说明:http: //openkinect.org/wiki/Getting_Started#Ubuntu_Manual_Install
我想访问注册的深度值。据我了解,Kinect 是出厂校准的,并且有一个查找表将深度像素与正确的 RGB 像素匹配。
我可以很好地打开 Kinect 并检索原始的 11 位深度数据。对于 1 到 7.5 米的距离,这给了我从大约 730 到 1045 的非线性值。
运行device->setDepthFormat(FREENECT_DEPTH_MM);
使 Kinect 输出距离以毫米为单位,因此 setDepthFormat 似乎有效。
运行device->setDepthFormat(FREENECT_DEPTH_REGISTERED);
似乎没有任何效果,因为只输出原始深度值。我错过了什么?