如何建立以米为单位的世界坐标变换矩阵(用于增强现实)



我正在用Kinect做一个增强现实应用。想要在彩色相机输出上叠加增强的3d物体

我知道如何设置投影矩阵,但不知道如何将骨骼坐标(以米为单位)转换为世界坐标。

相机信息焦距(像素)= 531.15(不确定这到底是什么意思)fovX = 62


direct3d matrix 
m_matrix[0] = (2 * 531.15f / 640.0f ); 
m_matrix[5] = (2 * 531.15f / 480.0f ); 
m_matrix[10] = -1.0f; 
m_matrix[11] = -1.0f ; 
m_matrix[14] = -1;

我也遇到过同样的问题,但最后我采取了另一种方法。我没有转换骨骼坐标,而是创建了一个投影矩阵,其中1个世界单位= 1米。此外,您还需要将RGB图像与深度图像同步。

你可以在我的SO问题中找到更多细节和一个解决方案:投影和视图矩阵,以匹配Kinect RGB相机视角

希望能有所帮助

最新更新