【问题标题】:Interpreting Camera Calibration Matrix解释相机校准矩阵
【发布时间】:2013-10-07 08:40:20
【问题描述】:

我在解释 http://www.cvg.reading.ac.uk/PETS2001/pets2001-cameracalib.html#dataset2 上的相机校准数据时遇到问题 并想知道是否有人可以提供帮助。基本上我理解了这个例子,当我尝试计算 3D 对象的 2D 图像坐标时,它可以正常工作。我得到的 2D 坐标在图像边界内,这很好。

问题是当我尝试将工作应用于其他矩阵时。为了让您了解,这些校准矩阵适用于在

找到的视频

例如考虑Dataset 2 Camera 2的变换矩阵:

FocalLength f=792
ImageCentre (u,v) = (384, 288)
Homogeneous Transform T =



 -0.94194 0.33537 -0.01657 0.00000;
    -0.33152 -0.93668 -0.11278 0.00000;
    -0.05334 -0.10073 0.99348 0.00000;
    11791.10000 22920.20000 6642.89000 1.00000;

根据数据集顶部的说明,第一步是对矩阵求逆得到:

  -0.94194 -0.33152 -0.05334 0;
    0.33538 -0.93669 -0.10074 0;
    -0.01657 -0.11277 0.99348 0;
    3529.67074 26127.15587 -3661.65672 1;

然后以世界坐标中的点 x = (0,0,0) 为例。

xT = (3529.67074,26127.15587,-3661.65672) and the point in 2D coordinates is given by

(792 x 3529.67074 / -3661.65672 + 384, 792 x 26127.15587 / -3661.65672 + 288)
= (-763.45 + 384 , -5651.187 + 288)
= (-379.45, -5363.187)

现在这个答案显然是不正确的,因为答案应该在图像边界内。事实上,当我尝试在我的程序中使用这些信息时,3D 世界中地平面上的点被错误地转换为 2D 图像坐标。

如果有人能就如何正确应用该工作提供任何想法,我将不胜感激。

谢谢,

【问题讨论】:

    标签: camera-calibration calibration


    【解决方案1】:

    听起来您可以使用 tsai 算法将 2d lat lon 映射到 2d x,y。看这里:Projection of 3D Coordinates onto a 2D image with known points

    【讨论】:

      【解决方案2】:

      我认为你的计算没有问题。如果您得到超出图像边界的投影,则意味着相机无法看到该点。

      我根据您提到的网页中的数据绘制了一些相机位置图。 (X,Y,Z) 是世界参考系的轴,(x,y,z) 是相机参考系的轴。

      以下是您提到的网页中的第一个示例,他们对点 (0,0,0) 进行投影以获得 (244, 253.8)。注意 z 轴的方向:相机朝向世界参考系的原点:

      对于数据集2,相机2,注意z轴的方向:相机看不到世界参考系的原点:

      此方向是否有意义取决于您的应用程序和 (X, Y, Z) 参考框架的选择。数据集 2 的摄像头 1 以类似的方式定向。

      【讨论】:

        猜你喜欢
        • 2011-05-13
        • 2015-03-16
        • 2020-04-29
        • 1970-01-01
        • 1970-01-01
        • 2012-04-28
        • 1970-01-01
        • 1970-01-01
        • 2014-09-13
        相关资源
        最近更新 更多