8

我正在尝试移植一个旧的增强现实项目,该项目基于另一个透明 HMD 的 metaio 框架。

因为 metaio 是由苹果公司购买的,它的可用文档和支持非常有限,而且这种新的 HMD 不支持开箱即用。

除了相机校准/手眼校准外,一切都在工作。

我已经计算了一个投影矩阵 P (使用SPAAM),它将相机坐标系中的点转换到屏幕上(通过自定义渲染测试)。不幸的是,我不能直接在 metaio 中设置投影矩阵,而是必须单独设置相机参数和手眼校准进行渲染。

因此,我从投影矩阵 P 中提取了外部和内部相机参数,如此处所述

但是这些设置时无法正常工作。结果似乎并没有完全关闭,因为渲染的比例似乎是正确的,并且手动测量的相机和眼睛之间的距离约为 126 毫米(x 轴上的平移)。

投影矩阵 P: 投影矩阵 P

内在函数(分辨率:1280 x 720):

内在函数

外在因素(嘿?):外在的

我想我错过了一些我不知道的额外步骤。我感谢任何想法和帮助。

附加信息:

  • metaio 使用右手坐标系,相机在负 z 轴上看,x 向右,y 向上
  • 用于手眼校准状态的 metaio 文档:从相机到眼睛(显示器)坐标的转换
  • 由于 x 轴上 HEC 的平移部分必须为正(相机位于 HMD 的右侧),我假设它的转换是从眼睛到相机的指定?
4

1 回答 1

2

Metaio 会自动为您反转矩阵吗?因为如果没有,这可能是你的问题。由于 y=0 在计算机图形中位于屏幕顶部,因此这些图像/相机处理应用程序中的许多都带有为您反转转换矩阵的选项。如果不是,您可能只想尝试手动反转您的转换矩阵,看看它是否有效。

于 2017-03-14T21:50:02.923 回答