相机内参的物理意义

相机内参的物理意义

把相机坐标系下3D空间点投影到像素坐标系中,相机内参 K K :
( α f 0 c x 0 β f c y 0 0 1 ) = ( f x 0 c x 0 f y c y 0 0 1 ) \left ( \begin {array}{ccc} \alpha f & 0 & c_x \\ 0 & \beta f & c_y \\ 0 & 0 & 1 \\ \end{array} \right ) = \left ( \begin {array}{ccc} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \\ \end{array} \right )

f f 的单位为米, α , β \alpha,\beta 的单位为像素/米,所以 f x , f y f_x,f_y 的单位为像素。

相机内参的变化

  1. 问题描述:如果一部相机的分辨率变为原来的 n n 倍而其他地方不变,那么它的内参将如何变化?
    结论: f x = n f x , f y = n f y , c x = n c x , c y = n c y f'_x = nf_x, \quad f'_y = n f_y, \quad c'_x = nc_x, \quad c'_y = nc_y
  2. 数学推导
    以下函数把相机坐标系下3D空间点 P ( X , Y , Z ) P(X, Y, Z) 投影到像素坐标系中:
    ( X , Y , Z ) ( u , v , 1 ) (X, Y, Z) \rightarrow (u, v, 1)
    Z ( u v 1 ) = ( f x 0 c x 0 f y c y 0 0 1 ) ( X Y Z ) = K P . Z \left( \begin{array}{ccc} u \\ v \\ 1 \end{array} \right) = \left ( \begin {array}{ccc} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{array} \right ) \left ( \begin{array}{ccc} X \\ Y \\ Z \end{array} \right ) = KP.
  • 相机坐标系到成像平面的变换
    由相机坐标系到像素坐标系的变换,先要经过相机坐标系到成像平面的变换,空间点 P P 在成像平面的投影点的坐标为 P ( X , Y ) P'(X', Y') :
    ( X , Y , Z ) ( X , Y ) (X, Y, Z) \rightarrow (X', Y')
    Z f = X X = Y Y \frac{Z}{f} = \frac{X}{X'} = \frac{Y}{Y'}
    X , Y X', Y' 放到等式左侧,整理得
    X = f X Z , Y = f Y Z X'=f \frac{X}{Z}, \quad Y' = f\frac{Y}{Z}

Note:X’, Y’是经过等价变换后的坐标,即将相机成像平面上点的坐标对称地放到相机前方。

  • 成像平面到像素坐标系的变换
    像素坐标系通常的定义方式是:原点 o o 位于图像的左上角, u u 轴向右与 x x 轴平行, v v 轴向下与 y y 轴平行。
    像素坐标系与成像平面之间,相差了一个缩放和一个原点的平移。设像素坐标在 u u 轴上缩放了 α \alpha 倍,在 v v 轴上缩放了 β \beta 倍。同时,原点平移了 [ c x , c y ] T [c_x, c_y]^T 。那么
    { u = α X + c x v = β Y + c y \begin{cases} u = \alpha X' + c_x \\ v = \beta Y' + c_y \end{cases}
    f x = α f , f y = β f f_x = \alpha f, \quad f_y = \beta f 可得
    { u = f x X Z + c x v = f y Y Z + c y \begin{cases} u = f_x \frac{X}{Z} + c_x \\ v = f_y \frac{Y}{Z} + c_y \end{cases}
  • 分辨率改变
    当分辨率变为原来的n倍时,像素坐标变化为
    ( u , v ) ( u , v ) (u,v) \rightarrow (u',v')
    { u = n u = n f x X Z + n c x = n α f X Z + n c x v = n v = n f y Y Z + n c y = n α f Y Z + n c y \begin{cases} u' = nu = nf_x \frac{X}{Z} + nc_x = n \alpha f \frac{X}{Z} + nc_x \\ v' = nv = nf_y \frac{Y}{Z} + nc_y = n \alpha f \frac{Y}{Z} + nc_y \end{cases}
    由上式可得结论:相机分辨率变为原来的n倍时,相机内参变为原来的n倍,即:
    f x = n f x , f y = n f y , c x = n c x , c y = n c y f'_x = nf_x, \quad f'_y = n f_y, \quad c'_x = nc_x, \quad c'_y = nc_y
    因为相机焦距 f f 固定不变,因此可得:
    α = n α , β = n β , c x = n c x , c y = n c y \alpha' = n \alpha, \quad \beta' = n\beta, \quad c'_x = nc_x, \quad c'_y = nc_y
发布了15 篇原创文章 · 获赞 0 · 访问量 430

猜你喜欢

转载自blog.csdn.net/weixin_46581517/article/details/105410828