Matlab:Stereo Calibartion App

时间:2016-07-08 10:52:34

标签: matlab camera-calibration

我正在使用立体声校准应用程序并成功校准立体相机,整体平均重投影误差= 0.32像素。

我想在相机1的框架中找到相机2的位置和方向。我在 TranslationOfCamera2 中获得的值不等同于显示在外部以相机为中心的外部视图。应用程序。由于 TranslationOfCamera2 不正确,我不相信 RotationOfCamera2 的值。

您可以查看以相机为中心的视图here以及 TranslationOfCamera2 RotationOfCamera2 here的值。

根据该图,相机2相对于相机1处于+ Z方向和+ Y方向。但是在 TranslationOfCamera2 矢量中,Y和Z的值是负的。这是我不理解的部分。

任何人都可以解释这些价值背后的逻辑吗?在哪些参考框架中计算这些值?在文档中它说明了这个应用程序给出了相机2相对于相机1的位置和方向。但在我的情况下,我认为,它是另一种方式。任何帮助表示赞赏!!

提前致谢!!

干杯

2 个答案:

答案 0 :(得分:0)

回答问题的第一部分

摄像机2的平移与摄像机2的坐标相对,这意味着如果您要添加(因此它们是负的基本上减去)将摄像机2转换到摄像机2的坐标,那么它将在摄像机的点处一。看起来对我来说是合乎逻辑的。

我知道这不是这个问题的完整答案,但我希望它有所帮助

答案 1 :(得分:0)

以这种方式思考:RotationOfCamera2TranslationOfCamera2是相机2相对于相机1坐标系的外在因素。如果你在相机1的坐标中有一个点[X, Y, Z],它在相机2中的投影由[X, Y, Z, 1] * [RotationOfCamera2; TranslationOfCamera2] * K给出,其中K是相机2的内在矩阵。

您要查找的是摄像机1在坐标系中的位置,可以按如下方式计算 -TranslationOfCamera2 * RotationOfCamera2'

这就是你在以相机为中心的情节中所看到的。