我正在寻找一种简单的方法,使用MATLAB将Kinect相机拍摄的RGB和深度值转换为XYZ坐标。我的目标是编写一个函数,其输入为每个点的RGB和深度值,输出为每个点的x、y和z值。[RGB,depth] = RGB_D2XYZ(XYZ)谢谢, Ben
你可以看一下这篇很棒的文章。它们有一个名为DepthToCloud.m的函数调用。你只需要确保传递图像中心和左上角即可。他们也在使用Kinect,因此您不需要改变很多参数。文章可以在这里找到。编辑您可以使用mexopencv或OpenCV Matlab包装器来捕获图像并进行校准。在OpenCV中有一个很好的函数调用reporjectImageTo3D。但是这个函数需要矩阵Q。这是投影矩阵。如果您想以这种方式进行操作,请查看OpenCV文档。否则depthToCloud也非常好。