相机畸变产生原因与公式表示(基本原理)

一、相机成像畸变

1、径向畸变

在相机制造过程中,很难保证镜头的厚度完全均匀 ,由于制造工艺的原因,通常这种情况为中间厚、边缘薄,因而光线在远离透镜中心的地方,会发生更大程序的扭曲,这种现象在鱼眼相机(桶形畸变)中尤为明显。

它们可以由k1、k2构成的下列数学公式描述:

其中,各参数意义如下:

通常只用k1、k2来矫正相机,k1对于畸变较小的图像中心区域有很大的作用和影响;

对于畸变较大的图像边缘区域,主要是k2在起作用,k3一般用于广角相机,鱼眼相机。

2、切向畸变

在相机制造过程中,成像平面与透镜平面不平行 ,产生透视变换,如下图所示:

切向畸变与距离图像中心的距离半径有关,公式如下:

其中,p1、p2表示切向畸变矫正系数,xy是发生畸变后的角点坐标,x' y'是畸变矫正后角点的坐标,r是曲率半径。

3、合并考虑畸变

原因:两种畸变是同时发生在成像过程中的,发生的原因也是相互独立的,而且也都是关于距离的表达式,似乎也找不到更好的方式来综合考虑这两种误差,实践证明,这种合并考虑畸变的情况效果还不错。

将径向畸变和切向畸变合并,只需将两个畸变矫正直接加起来即可,公式如下:

k1、k2、k3为径向畸变系数;p1、p2为切向畸变系数。

相机畸变现象发生的位置:

①世界坐标系 -> 相机坐标系:刚体变换,不存在畸变现象;

②相机坐标系 -> 图像坐标系:也就是成像过程,理想情况下是相似三角形,但实际由于相机智造、装配的原因,成像过程存在畸变现象;

③图像坐标系 -> 像素坐标系:坐标原点、单位不同,仅仅平移与缩放,不存在畸变现象。

4、内参外参总结

相机的内参数是六个分别为:1/dx、1/dy、r、u0、v0、f。

(1)r表示径向畸变量级,r为负值,畸变为桶型畸变,r为正值,畸变为枕型畸变,初始值为0。

(2)dx、dy表示图像传感器上水平和垂直方向上相邻像素之间的距离(像素/毫米)。

(3)u0,v0表示图像坐标系原点在像素坐标系中位置。

opencv1里说的内参数是4个其为fx、fy、u0、v0。

(1)fx、fy:x和y轴上的焦距(fx=f/dx、fy=f/dy)

(2)u0、v0:相对光轴而言,x和y方向上的偏移量

畸变参数:(k1、k2、p1、p2、k3)

相关推荐
code bean19 小时前
【工控】线扫相机小结 第四篇
数码相机·工控·工业相机
那就举个栗子!2 天前
多传感器融合slam过程解析【大白话版】
数码相机
xy189902 天前
相机触发模式
数码相机
yunfanleo3 天前
代替Spinnaker 的 POINTGREY工业级相机 FLIR相机 Python编程案例
c++·python·数码相机
摆烂仙君4 天前
《Camera-free Image to PanoramaGeneration with Diffusion Model》论文解析——CamFreeDiff
人工智能·数码相机·计算机视觉
weixin_Todd_Wong20104 天前
【海思Hi3519DV500】双目网络相机套板硬件规划方案
数码相机
isyoungboy4 天前
普通单片机为什么无法直接驱动dcmi接口相机
单片机·嵌入式硬件·数码相机
爱煲汤的夏二4 天前
摄影:相机控色
数码相机
OAK中国_官方4 天前
‘视’不可挡:OAK相机助力无人机智控飞行!
数码相机·无人机
环境感知5 天前
基于MATLAB的激光雷达与相机联合标定原理及实现方法——以标定板为例
开发语言·人工智能·数码相机·算法·matlab