我正在使用Qualcomm的AR SDK来跟踪对象。 我有以下功能:
https://ar.qualcomm.at/qdevnet/api(具体请看“命名空间列表 - > QCAR ::工具”)。
我可以使用convertPose2GLMatrix(const Matrix34F& pose)函数获取跟踪项目的模型视图矩阵,因为我得到每个跟踪项目的姿势矩阵。
我的目标 - 确定标记在“现实世界”中的位置。你可以假设我的相机会静止不动。
我在网上看过很多文章,我的一般理解是这样的: 我需要从我选择轴'0,0,0指向的位置选择一个模型视图矩阵(即 - 复制我得到的矩阵)。 然后我需要转置该矩阵。然后,我提取的每个模型视图矩阵应该乘以该矩阵,然后乘以(x,y,z,1)向量,以获得坐标(忽略第4项)。
我说错了吗?这是要走的路吗?如果不是 - 那是什么?
答案 0 :(得分:1)
我喜欢将正交矩阵视为从一个坐标空间移动到另一个坐标空间,所以你建议的是正确的,但我会反过来这样做:
1。)使用相对于相机的参考坐标系S(即仅由姿势估计确定的一个矩阵) 2.)对于每个姿势估计,T计算以下内容:
W = S * T ^ -1 = S *转置(T)
3。)从矩阵W中挑选4列,作为你的世界位置。