如何将 kinect 轨迹矩阵转换为 4x4 齐次矩阵(示例)

how do I convert kinect trajectory matrix to 4x4 homogeneus matrix (example)

最近用RGBD-Slam获取kinect相机轨迹。每帧都会有这个:

timestamp tx ty tz qx qy qz qw

tx ty tz 给出彩色相机光学中心相对于运动捕捉系统定义的世界原点的位置。

qx qy qz qw 以单位四元数的形式给出彩色相机的光学中心相对于运动捕捉系统定义的世界原点的方向。

我需要将其转换为4x4齐次变换矩阵。有什么提示可以解决这个问题吗?比方说例子如下:

1421307756.191874 0.004530 0.050319 0.003332 0.003734 0.023578 -0.054199 0.998245

所以,

时间戳: 1421307756.191874 ; tx: 0.004530

ty: 0.050319 ; tz: 0.003332

qx: 0.003734 ; qy: 0.023578

qz: -0.054199 ; qw: 0.998245

并且, fx = 525.0; fy = 525.0; // 默认焦距

cx = 319.5; cy = 239.5; // 默认光学中心

将不胜感激。

谢谢。

提取四元数的角度和轴应该不难吧? 那么你可以找到具有给定轴

的旋转矩阵的一般表达式

然后只需以正确的顺序将获得的矩阵与平移矩阵组合起来就可以了

这是我的第一个 post 如果我说的是狗屎,请放纵 :-P