您的位置:首页 > 其它

从kinect获取世界坐标

2015-08-09 10:03 239 查看
我们可用从Kinect的官方文件知道,Kinect的视锥是这个样子的。图中A,B和小人的脚是处于同一平面的,那么kincet获取到的

世界坐标中A,B的y轴坐标是相等的?还是如在RGB图中看到的一样,A,B,一上一下,y轴坐标不相等呢?

因此我抓获了Kinect的RGB,depth图像,对其后并转换成世界坐标,通过鼠标的点击来查看A,B的坐标。

最后结论如我所期待的一样:A,B在同一平面,A,B点y轴坐标相等。

这对小车室内定位和运作有重大意义。



获取到的RGB图像



获取到的depth图像

坐标排列(x, y, z)



opencv 2.3后有了获取世界坐标方法,大大减少了工作量
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/user_guide/ug_highgui.html
capture.retrieve(depthMap,CV_CAP_OPENNI_POINT_CLOUD_MAP);//XYZ in meters (CV_32FC3),以米为单位的XYZ点云 (CV_32FC3)


获取世界坐标数据

cout<<"mouse location:"<<"("<<cvGet2D(Image,y,x).val[0]<<","                \
<<cvGet2D(Image,y,x).val[1]<<","               \
<<cvGet2D(Image,y,x).val[2]<<")"<<endl;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: