相机畸变校准

1. 前言

前言,关于相机的畸变模型及其推导,很多文章都已经写得很详细了,我这里只总结结论,把重点放在理解以及使用上。这篇文章总结了径向切向畸变,鱼眼畸变,FOV畸变;同时,还根据径向切向畸变的模型,以Euroc数据集为例,提供了畸变矫正的Matlab和C++代码示例。

2. 针孔模型(pinhole model)

针孔相机模型(即直线投影模型,是相机在理想情况下的投影模型)是消费类相机中最常见的相机模型。在此模型中,图像通过透视投影映射到平面上。当相机坐标系(原点在相机光心,向前为Z,向右为X,向下为Y)下的一个三维空间点 ( X c , Y c , Z c ) (X_c, Y_c, Z_c) (Xc,Yc,Zc)通过针孔相机模型投影得到图像坐标系(图像的左上角为坐标原点,向右为x,向下为y,单位为像素)下的一个像素点 ( u , v ) (u, v) (u,v)时,它们的对应关系如下:
{ x = f x X c Z c + c x = f x ⋅ x + c x y = f y Y c Z c + c y = f y ⋅ y + c y (1.1) \left\{ \begin{aligned} x = f_x \frac{X_c}{Z_c} + c_x = f_x \cdot x + c_x \\ y = f_y \frac{Y_c}{Z_c} + c_y = f_y \cdot y + c_y \end{aligned} \right. \tag{1.1} x=fxZcXc+cx=fxx+cxy=fyZcYc+cy=fyy+cy(1.1)
其中, x = X c Z c , y = Y c Z c x = \frac{X_c}{Z_c}, y = \frac{Y_c}{Z_c} x=ZcXc,y=ZcYc是归一化的坐标(没有单位),上式子也可写成齐次坐标的形式:
[ u v 1 ] = 1 Z c [ f x 0 c x 0 f y c y 0 0 1 ] [ X c Y c Z c ] (1.2) \left[\begin{matrix} u \\ v \\ 1 \end{matrix}\right] = \frac{1}{Z_c} \left[\begin{matrix} f_x & 0 & c_x \\0 & f_y & c_y \\ 0 & 0 & 1 \end{matrix}\right] \left[\begin{matrix} X_c \\ Y_c \\ Z_c \end{matrix}\right] \tag{1.2} uv1=Zc1fx000fy0cxcy1XcYcZc(1.2)
其中, f x , f y , c x , c y f_x, f_y, c_x, c_y fx,fy,cx,cy 为相机内参(单位:像素),上面模型的推导与相机内参的具体含义这里不过多展开,详情请见高博的《视觉SLAM十四讲》,或者链接:SLAM之相机标定,需要说明的是,该链接中讲的相机标定和畸变部分与高博的那本书一致,它同时还介绍了基于ROS的相机内参标定过程,以及校准的代码。但是,那里面只提到径向切向畸变,校准出来几个畸变参数也没有详细说明,而且代码写的有点小问题:(他写的显然是C++的代码,但是下面那两行却实matlab的语法,而且“^”在C++中的含义是异或操作)

double x_distorted = x*(1+k1*r^2+k2*r^4)+2*p1*x*y+p2*(r^2+2*x^2);
double y_distorted = y*(1+k1*r^2+k2*r^4)+2*p2*x*y+p1*(r^2+2*y^2);

因此,我想在此基础上做一点补充。

3. 针孔模型+径向切向畸变(rectilinear projection distortion)

{ x d i s t o r t e d = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) + 2 p 1 x y + p 2 ( r 2 + 2 x 2 )

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值