将Kinect的RGB和深度值转换为XYZ坐标

5
我正在寻找一种简单的方法,使用MATLAB将Kinect相机拍摄的RGB和深度值转换为XYZ坐标。我的目标是编写一个函数,其输入为每个点的RGB和深度值,输出为每个点的x、y和z值。
[RGB,depth] = RGB_D2XYZ(XYZ)
谢谢, Ben
1个回答

4
你可以看一下这篇很棒的文章。它们有一个名为DepthToCloud.m的函数调用。你只需要确保传递图像中心和左上角即可。
他们也在使用Kinect,因此您不需要改变很多参数。
文章可以在这里找到。
编辑
您可以使用mexopencv或OpenCV Matlab包装器来捕获图像并进行校准。在OpenCV中有一个很好的函数调用reporjectImageTo3D。但是这个函数需要矩阵Q。这是投影矩阵。如果您想以这种方式进行操作,请查看OpenCV文档。否则depthToCloud也非常好。

非常感谢你,Alexandre!这非常有帮助! - ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接