参数可调图像畸变校正技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参数可调图像畸变校正技术
[摘要] 随着数字图像畸变校正处理的应用领域的不断扩大,其处理技术也成为研究的热点.大视场成像光学系统中的畸变会降低图像质量,必须预以校正。
本文提出了一种新的校正方法,根据畸变率的定义推导出畸变校正公式, 给出了建立畸变模型的方法。
实践证明,这种模型可以满足大多数镜头的畸变校正要求。
[关键字] 几何畸变畸变模型畸变校正
一、畸变的产生
图像几何畸变就是在不同的摄入条件下得到图像时,一个物体的图像常会发生几何畸变出现歪斜变形的现象。
例如从太空宇航器拍摄的地球上等距平行线,其图像会变为歪斜或虽平行而不等间距,用光学和电子扫描仪摄取的图像常常会有桶形畸变和枕型畸变,用普通的光学摄影与测试雷达拍摄的同一地区的景物在几何形状上有较大的差异。
以上这类现象统称为几何畸变。
实际工作中常需以某一幅图像为基准,去校正另一种摄入方式的图像,以期校正其几何畸变,这就叫做图像的几何畸变复员或几何畸变校正。
图1畸变的产生
数字图像的畸变是由于采用了广角镜头而引入的, 一般来说,随着视场的改变,畸变值也改变,越接近视场的边缘,畸变值就越大。
例如一个垂直于光轴的物体,如图1中(a)所示,它经过有畸变的光学系统成像后,会出现如图(b)或图(c)所示的成像情况。
其中(b)称为枕形畸变,(c)称为桶形畸变。
枕形畸变又称为正畸变,桶形畸变称为负畸变。
畸变产生的原因是由于系统的实际放大率随视场而变化,不再是一个常数。
对于正畸变,实际放大率大于理想的放大率,而负畸变则相反。
畸变对成像的影响使像产生较为严重的失真。
二、畸变的校正及发展现状
从数字图像处理的观点来看: 畸变校正实际上是一个图像恢复的问题,即对一幅退化图像的恢复。
畸变主要表现在图像中像素点发生位移,从而使图像中物体扭曲变形。
畸变校正分为两步,第一步是对原图像进行像素坐标空间的几何变换,这样做的目的是使像素点落在正确的位置上;第二步是重新确定新像素点的灰度值。
因为经过上面的坐标变换后,有些像素点可能会被挤压在一起,有时又分散开,使校正的像素不落在离散的整数坐标位置上,因此需要确定这些像素点的灰度值。
目前,国内外关于畸变校正算法的研究已经比较多,具体来讲主要分为二大类:利用标准样板校正和拟合镜头畸变曲线校正方法。
其中拟合镜头畸变曲线的方法是对几个不同视场进行畸变计算,通过这些计算值拟合出视场角随畸变变化的曲线,然后通过这条曲线计算出镜头在CCD上所成图形的每一点的畸变值,进而计
算出图像上每一点的理想位置。
完全的拟合畸变曲线需要知道光学系统的设计参数,并且要拆装已制造好的光学系统,可能全带来装配误差。
而样板标定方法就是利用定制的标准样板,使其通过待校正光学系统成像。
由于光学系统本身存在着畸变,从而使像发生变形,根据样板理想设计参数和光学系统的放大率,计算出样板理想的无失真的像,比较它和实际像的差别,就能够得到它们之间的函数关系。
校正的过程就是利用这种函数关系来完成有畸变的实际像到无畸变的理想像的转换。
利用点阵样板校正畸变,不需要其它光学测量仪器和光学系统结构参数,只是根据系统畸变特征进行校正,但计算其样点对应的坐标时也会带来误差。
三、逼近畸变曲线校正法
对于光学参数求畸变曲线校正法,需要知道光学系统的结构参数,还需要用专用工具对已经装配好的光学系统进行拆装,这样很可能会引入较大的装配误差,影响校正的精度。
而标准样板标定法得首先建立好校正的硬件平台,要采集摄像头捕获到标准样板的的畸变图像,而且在用重心法求对应点的坐标过程中可能会引入误差。
在总结上面二种畸变校正方法的基础上,提出了一种新的参数方便可调的校正方法:逼近畸变曲线校正法
此计算方法包含了以下三个计算过程。
第一,规定了每个像素理想像高的坐标表示法。
第二,在坐标系中确定理想像高相对畸变系数的一般表示。
第三,利用光学系统的对称性,经过适当的坐标变换,逐点计算出整幅画面实际像高的坐标表示。
图2为光学系统的成像示意图。
图中理想像高为Y,镜头焦距为f,半视场角为,则畸变量△Y可用下式表示,即
△Y =
式中,ftan为理想像高Y;是视场角为时引起的实际像高Ys。
图2 光学系统成像示意图
显然,随着视场角的变化,畸变量也随着变化。
换句话说,在视场内,每一个像点对应一个不同的畸变量,离光轴越远畸变量越大。
此处定义Ys与Y的比值为相对畸变,用S表示,即
S=Y/Ys=tan/
图3给出了摄像机画面空间采样间隔的网格图。
画面的长宽比为4:3, X,Y方向均分255等份,共256 X 256个网格点。
网格点的标号可由直角坐标系和极坐标系分别给出。
在直角坐标系中,左上角为直角坐标系原点,X轴的正方向向左,Y的正方向向下。
在极坐标系中,其原点在画面的中点(d),且与光轴重合。
图中,有向线段OE落在第一象限,它代表了任何一个子午面内的理想像高,其极点位置恰好在网格点上。
该点在x,y方向的投影分别用Rx和Ry表示。
为讨论问题的方便起见,
把直角坐标系向左和向下平移127. 5个网格的距离,使直角坐标系的原点恰好与极坐标的原点重合,并使Y轴反向。
因此,把平移前的直角坐标系称为实际坐标系,把平移后的直角坐标系( x,y)称为参考坐标系。
下面我们通过具体的例子来说明一下这种畸变校正方法的详细步骤,首先假设焦距f=2.6mm, 半视场角=60,整个画面的长宽比为4:3。
(1) 有向线段OA的长度表示了由光学系统的视场角所决定的最大理想像高,用Rmax来表示。
Rmax=ftg=2.6tg60=4.5033
(2) 在画面的第一象限内的任何一个网格点在x, y方向的分量:
Rxi=(2i+1)△Rx=(2i+1)Rxmax/255=(2i+1)( 0.8/255) Rmax
Ryj=(2j+1)△Ry=(2j+1)Rymax/255= (2j+1)(0.6/255) Rmax
(3) 计算网格点到原心的距离Rij:
(4) 计算理想像高对应的视场角
ij=arctan(Rij/f)
(5) 网格点对应的畸变系数
Sij=arctan(Rij/f)/(Rij/f)
(6) 实际像高在X, Y方向的分量
RRxi=Sij Rxi
RRyj=Sij Ryi
(7) 由于实际像高的极点并不一定恰好落在网格点上,所以上式的左边的分量也并不一定是i,j的整数倍。
于是畸变像高的坐标标号I,J可由下式导出,计算实际像高的网格位置
(8) 计算畸变像高的坐标度量,若I,J都为整数,则实际像高恰好落在网格点上;若I,J都为非负整数,则实际像高必然落在(I,J)(I+1,J)(I,J+1)和(I+1,J+1)四个网格点内。
若网格点上存储的坐标系数就是网格点本身的网格标号(光学系统无畸变),则由相对于参考坐标系来说,这些网格标号都得在原有的标号上再各自加0.5个
单位,只有这样才能把它们的数据影射到参考坐标系来进行度量,另一方面,由于光学系统的成像质量是轴对称的,所以其它三个象限与第一象限也是轴对称的。
x1= I+0.5;y1=-(J+0.5)[第一象限]
x2=-(I+0.5); y2=-(J+0.5) [第二象限]
x3=-(I+0.5); y3= J+0.5[第三象限]
x4= I+0.5;y4= J+0.5 [第四象限]
(9) 直角坐标变换,如果把所有的网格点逐个作为存储体中的一个存储单元,并按实际直角坐标系按续排列,则只有把第一象限导出的坐标标号作适当地变换,才能使四个象限内的各自坐标标号统一在同一个直角坐标系内。
为此必须进行如下的坐标变换。
设x,y为参考坐标系的坐标轴,X,Y为实际坐标系的坐标轴。
X=x+127.5
Y=y+127.5
(10) 确定校正数据
分别建立X、Y的整数部分和X、Y的小数部分的数据库
利用以上计算步骤,并通过编程可以得到摄像机的四个相对畸变系数文件。
由这些相对畸变系数,通过几何空间变换,可以得到校正的图像。
但是由于校正后的输出图像通常被映射到输入图像的非整数位置,因此,为了决定与该位置对应的灰度值,必须利用灰度插值运算。
我们利用上述方法在MATLAB中对畸变图像进行了仿真校正,可以通过微调焦距f获得最佳的校正效果。
如下图所示:
图4畸变校正仿真结果图
参考文献:
[1] 万峰,杜明辉.数码相机设计中图像几何畸变校正的实现[J].北京:计算机工程,2005.
[2] 崔洪州等.基于畸变率的图像几何校正[J].应用光学,2006.
[3] 王伟,钟堰利,吴建坤等. 广角镜头图像畸变校正系统的研究[J] 光学技术,2004.。