【问题标题】:Camera Parameters of Rotated Frame旋转框相机参数
【发布时间】:2015-02-18 23:35:18
【问题描述】:

我有一个使用校准相机拍摄的帧/图像。两组相机参数(内部和外部)均可用。我想知道,如果我在水平和垂直方向上翻转框架(有效地将其旋转 180 度),我需要更改原始相机参数以获得旋转图像的正确参数?

感谢任何帮助。谢谢..

【问题讨论】:

    标签: opencv opengl computer-vision camera-calibration extrinsic-parameters


    【解决方案1】:

    相机参数的线性部分将转换为视图投影矩阵。将它与 scale(-1,-1,1) 转换连接将为您提供新情况的视图投影(顺便说一句,scale(-1,-1,1) == rotate(180°=pi, 0, 0,1))。

    【讨论】:

    • 谢谢@datenwolf。您能否详细说明一下相机参数的线性部分是什么意思?你的意思是外参3x4矩阵[R | t]?对于内在参数,我认为焦距不需要任何改变。但是,如果主点 (c_x, c_y) 坐标不在图像平面的中心,则可能需要更改它。我的目标是获得新的内在和外在参数矩阵。对应的 OpenGL 视图投影矩阵不是我要找的。​​span>
    • @informer2000:线性部分是与相机相关的所有不引入非线性变换(即镜头失真)的东西。根据您的相机型号,外部参数和内部参数都可以是完全线性的,通常外部参数总是如此。但是,如果您的相机模型在固有模型中包含非线性镜头失真,则该部分必须与线性部分(主要是 FOV)分开。如果您使用的是基本针孔相机模型,则根本没有非线性部分,您的相机矩阵将为 P·[R|t]
    • @datenwold:是的,我使用的是针孔相机模型。基本上,投影矩阵P是内在参数矩阵K乘以外在矩阵[R|t]的结果。所以,如果我理解正确的话,我需要转换的是外在矩阵。这可以通过将增强的外在矩阵(通过将 [0 0 0 1] 添加为最后一行以获得 4x4 矩阵)乘以 I[-1 -1 1 1]^T 来实现吗?
    • @informer2000:在我上面的陈述中,P 只是投影,它只是内在参数。 P·[R|t] 构成视图投影(或相机)矩阵,然后通过将其扩展为 4×4 矩阵,您可以将其转换为 OpenGL 式的相机矩阵。作为交叉检查,在有效的针孔相机矩阵中,WW 元素为 0,但 Z 中的 W 行非零(因此投影的 Z 坐标会施加透视缩放)。
    • 我有点困惑。我认为我们使用了不同的术语。我不想为此使用 OpenGL 函数(例如,glRotate()glScale())。我基本上是想直接转换针孔相机模型参数。你能用矩阵运算的方式向我描述一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 2015-09-05
    相关资源
    最近更新 更多