我们可用从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;
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-12-29 07:43:49