图像算法一 —— 相机畸变及其数学模型

文章目录

  • 1. 相机畸变及其数学模型
    • 畸变类型
    • 畸变数学模型
      • 径向畸变
      • 切向畸变
      • 畸变数学模型总结

1. 相机畸变及其数学模型

畸变类型

相机畸变主要分为两种:

  • 径向畸变(枕形、桶形):光线在远离透镜中心的地方 比 靠近透镜中心的地方 更加弯曲
  • 切向畸变:透镜不完全平行于图像平面,即sensor在安装时与镜头之间的角度不准。

图像算法一 —— 相机畸变及其数学模型_第1张图片

畸变数学模型

径向畸变

成像仪 光轴中心的畸变为0,沿着镜头半径方向 越靠近边缘,畸变越严重

畸变的数学模型可以用主点(principle point)周围的泰勒级数展开式的前几项来进行描述。

  • 通常使用前两项和,即 k 1 k_1 k1 k 2 k_2 k2

  • 对于畸变很大的镜头,如鱼眼镜头,需要增加第三项 k 3 k_3 k3来进行描述。

成像仪上的某点,根据其在径向方向上的分布位置,调节公式为:

x 0 = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) x_0=x(1 + k_1r^2 + k_2r^4 + k_3r^6) x0=x(1+k1r2+k2r4+k3r6)

y 0 = y ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) y_0=y(1 + k_1r^2 + k_2r^4 + k_3r^6) y0=y(1+k1r2+k2r4+k3r6)

公式中:

( x 0 , y 0 ) (x_0, y_0) (x0,y0)——畸变点在成像仪上的原始位置

( x , y ) (x, y) (xy)——矫正后的位置

径向畸变的偏移示意图

图像算法一 —— 相机畸变及其数学模型_第2张图片

切向畸变

切向畸变是由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致

畸变可以由两个额外的参数 p 1 p_1 p1 p 2 p_2 p2来描述:

x 0 = x + [ 2 p 1 y + p 2 ( r 2 + 2 x 2 ) ] x_0 = x + [2p_1y + p_2(r^2 + 2x^2)] x0=x+[2p1y+p2(r2+2x2)]

y 0 = y + [ 2 p 2 x + p 1 ( r 2 + 2 y 2 ) ] y_0 = y + [2p_2x + p_1(r^2 + 2y^2)] y0=y+[2p2x+p1(r2+2y2)]

大体上,切向畸变的畸变位移相对于左下——右上角的连线是对称的,说明该镜头在垂直于该方向上有一个旋转角度

切向畸变的偏移示意图

图像算法一 —— 相机畸变及其数学模型_第3张图片

畸变数学模型总结

径向畸变和切向畸变中,一共有5个畸变参数,OpenCV中他们被排列为一个 5 × 1 5\times1 5×1的矩阵,依次包含 k 1 k_1 k1 k 2 k_2 k2 p 1 p_1 p1 p 2 p_2 p2 k 3 k_3 k3,经常被定义为Mat矩阵的形式,如Mat distCoeffs = Mat(1, 5, CV_32FC1, Scalar::all(0));

上述5个参数就是相机标定中需要的相机的5个畸变参数,求得这5个参数后,就可以矫正由镜头畸变引起的图像的变形失真。

你可能感兴趣的:(#,图像算法,计算机视觉,人工智能)