我正在使用立体声校准应用程序并成功校准立体相机,整体平均重投影误差= 0.32像素。
我想在相机1的框架中找到相机2的位置和方向。我在 TranslationOfCamera2 中获得的值不等同于显示在外部以相机为中心的外部视图。应用程序。由于 TranslationOfCamera2 不正确,我不相信 RotationOfCamera2 的值。
您可以查看以相机为中心的视图here以及 TranslationOfCamera2 和 RotationOfCamera2 here的值。
根据该图,相机2相对于相机1处于+ Z方向和+ Y方向。但是在 TranslationOfCamera2 矢量中,Y和Z的值是负的。这是我不理解的部分。
任何人都可以解释这些价值背后的逻辑吗?在哪些参考框架中计算这些值?在文档中它说明了这个应用程序给出了相机2相对于相机1的位置和方向。但在我的情况下,我认为,它是另一种方式。任何帮助表示赞赏!!
提前致谢!!
干杯
答案 0 :(得分:0)
回答问题的第一部分
摄像机2的平移与摄像机2的坐标相对,这意味着如果您要添加(因此它们是负的基本上减去)将摄像机2转换到摄像机2的坐标,那么它将在摄像机的点处一。看起来对我来说是合乎逻辑的。
我知道这不是这个问题的完整答案,但我希望它有所帮助
答案 1 :(得分:0)
以这种方式思考:RotationOfCamera2
和TranslationOfCamera2
是相机2相对于相机1坐标系的外在因素。如果你在相机1的坐标中有一个点[X, Y, Z]
,它在相机2中的投影由[X, Y, Z, 1] * [RotationOfCamera2; TranslationOfCamera2] * K
给出,其中K是相机2的内在矩阵。
您要查找的是摄像机1在坐标系中的位置,可以按如下方式计算
-TranslationOfCamera2 * RotationOfCamera2'
。
这就是你在以相机为中心的情节中所看到的。