畸变
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=x∗1+k4∗r2+k5∗r4+k6∗r61+k1∗r2+k2∗r4+k3∗r6

最低0.47元/天 解锁文章
875

被折叠的 条评论
为什么被折叠?



