图像畸变处理

畸变

In geometric optics, distortion is a deviation from rectilinear projection; a projection in which straight lines in a scene remain straight in an image. It is a form of optical aberration.

畸变是像差的一种,它在感官上给人一种错觉(即原本直线变成了曲线),但图像的信息不会丢失。

本文主要介绍畸变的两种处理方式,一种是去畸变,一种是预畸变。

去畸变

根据相机的畸变系数,利用opencv中的undistort函数或者initUndistortRectifyMap和remap相结合即可完成畸变的去除,非常的简单。但是大多数情况下,对于手里的相机,我们是不知道相机的畸变系数,这时候就需要进行畸变标定。

畸变标定

获取畸变系数,通常有以下几种方法:

  • 通过相机的参数规格中得到(几乎是废话)
  • 基于3D/2D点的映射关系(如,张正友标定大法)
  • 基于3D世界中直线在图像中仍是直线(如,铅锤法)
  • 其他行业内的高精度标定方法

opencv中采用的是张正友标定法,通过拍摄一系列棋盘格图像,通过多视图几何推导出内参和外参的解析解作为优化的初值,畸变系数初值为0,然后利用LM优化算法,以重投影误差为目标进行优化。

opencv可以对14个畸变系数进行标定,分别为:

k1 k2 k3 k4 k5 k6 径向畸变系数
p1 p2 切向畸变系数
s1 s2 s3 s4 薄棱镜畸变系数
t1 t2 倾斜图像传感器的梯形畸变(Matrix for trapezoidal distortion of tilted image sensor)

其畸变公式,从形式上看布朗模型和除法模型( Fitzgibbon)的结合

x d i s t = x ∗ 1 + k 1 ∗ r 2 + k 2 ∗ r 4 + k 3 ∗ r 6 1 + k 4 ∗ r 2 + k 5 ∗ r 4 + k 6 ∗ r 6 + p 1 ∗ ( 2 ∗ x ∗ y ) + p 2 ∗ ( r 2 + 2 ∗ x 2 ) + s 1 ∗ r 2 + s 2 ∗ r 4 x_{dist} = x * \frac{1 + k1 * r^2 + k2 * r^4 + k3 * r^6}{1 + k4* r^2 + k5 * r^4 + k6 * r^6} + p1 * (2*x*y)+p2*(r^2+2*x^2)+s1*r^2+s2*r^4 xdist=x1+k4r2+k5r4+k6r61+k1r2+k2r4+k3r6

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值