计算相机参数和HandEyeCalibration

use*_*595 8 transformation projection augmented-reality camera-calibration metaio

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

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

除了相机校准/手眼校准之外,一切都已经有效了.

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

如所描述因此,我已提取从投影矩阵P的外在和内在的照相机参数这里.

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

投影矩阵P: 投影矩阵P.

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

内联函数

外在学(赫?): 外部参数

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

附加信息:

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

小智 2

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