问题描述
我正在寻找一种将kinect RGB和深度值转换为XYZ坐标的简单方法使用MATLAB.我的目标是一个函数,其输入为: Kinect 相机拍摄的每个点的RGB和深度值,以及每个点的x,y和z值的输出.
I'm looking for an easy way to Convert kinect RGB and depth values to XYZ coordinatesusing MATLAB.My goal is a function with an input of: RGB and depth values of each point taking by Kinect camera, and output of: x,y and z values of each point.
[RGB,depth] = RGB_D2XYZ(XYZ)
[RGB, depth] = RGB_D2XYZ(XYZ)
谢谢,本
推荐答案
您可以看一下这篇很棒的文章.它们具有一个函数DepthToCloud.m.您只需要确保通过图像中心和左上角即可.
You can have a look to this great article. They have a function call DepthToCloud.m. You just need to be sure to pass Image center and top-left corner.
他们也使用Kinect,因此您实际上不需要更改很多参数.
They are using Kinect too, so you don't really need to change a lot of parameter.
可以在此处
编辑
您可以使用mexopencv或OpenCV Matlab包装器来捕获图像并进行校准.在OpenCV之后,有一个很棒的函数调用reporjectImageTo3D
.但是此函数需要矩阵Q
.它是投影矩阵.如果您想通过这种方式查看OpenCV文档.另外,depthToCloud也真的很好.
You can use mexopencv or OpenCV Matlab wrapper, to capture image and to do calibration. After OpenCV have a great function call reporjectImageTo3D
. But this function need matrix Q
. It's the projection matrix. Have a look to OpenCV documentation if you want to do by this way. Else depthToCloud is really good too.
这篇关于将kinect RGB和深度值转换为XYZ坐标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!