1

我正在使用 Qualcomm 的 AR SDK 来跟踪对象。我有以下可用功能:

https://ar.qualcomm.at/qdevnet/api(具体看“命名空间列表->QCAR::Tool”)。

我可以通过使用 convertPose2GLMatrix (const Matrix34F &pose) 函数来获取被跟踪项目的模型视图矩阵,因为我得到了每个被跟踪项目的姿势矩阵。

我的目标 - 确定标记在“现实世界”中的位置。你可以假设我的相机是静止的。

我在网上阅读了很多文章,我的一般理解是:我需要从中选择一个模型视图矩阵,从中选择轴的 0,0,0 点(即 - 复制我为该点获得的矩阵)。然后我需要转置该矩阵。然后,我提取的每个模型视图矩阵应乘以该矩阵,然后乘以 (x,y,z,1) 向量,以获得坐标(忽略第 4 项)。

我对么?这是要走的路吗?如果不是 - 是什么?

4

1 回答 1

1

我喜欢将正交矩阵视为从一个坐标空间移动到另一个坐标空间,所以你的建议是正确的,但我会反过来做:

1.) 使用相对于您的相机的参考坐标系 S(即只是由姿势估计确定的矩阵之一) 2.) 对于每个姿势估计 T,请计算以下内容:

W = S * T^-1 = S * 转置(T)

3.) 从矩阵 W 中选择第 4 列,作为您的世界位置。

于 2012-04-18T20:59:11.520 回答