2011年6月15日第34卷第12期
现代电子技术
ModernElectronicsTechniue q
Jun.2011
Vol.34No.12
基于OenCV的非线性图像畸变校正研究p
陶旺林,卢选民,刘李娟,单 长
()西北工业大学电子信息学院,陕西西安 710129
摘 要:由于光学镜头加工和装配误差的存在,数字相机拍摄图像常会出现非线性的几何畸变。针对这一常见问题,通过研究镜头畸变的数学模型和摄像机模型以及参数标定方法,在V实现了图像畸变校正。C++环境下调用OenCV库函数,p实验结果表明,该方法能够在保证无颜色失真的条件下获得理想的校正结果,并且实现简便、准确。
关键词:镜头畸变;摄像机模型;畸变校正;OenCVp
)中图分类号:TN91934;TP391 文献标识码:A 文章编号:1004373X(201112011704----
ANonlinearImaeDistortionRectificationTechniueBasedonOenCV - gqp
,,,TAO WanlinLU XuaninLIULiuanSHANChan--m - gjg
(,N,X’)SchoolofElectronicsandInformationorthwesternPoltechnicalUniversitian710129,China yy
:NeneralroblemrocessinAbstractonlinearimaedistortionisanindiitalcameradesinbecauseoftheexistenceof- gppgggg,andassemblerrorofoticallenses.Inthisthenonlineardiitalimaedistortionrectificationisimlementedusintheaer - ypggpgpp ,librarfunctionofOenCVundertheenvironmentofVC++banalzinthemathmodelofthelensdistortionthecamera ypyyg ,modelandthecalibrationmethod.Theexerimentresultsindicatethatthismethodissimleefficientandaccuarameter -ppprate.
:;;;KewordslensdistortioncameramodelimaedistortionrectificationOenCV gpy
0 引 言
随着数字技术的发展,数字相机在工业、交通、医军事等邻域得到了广泛应用。由于光学镜头的生产疗、
工艺等原因,使其拍摄到的数字图像与理想的小孔透视模型有一定的差别,常会出现非线性的几何畸变。一般
]12-
来说,相机成像过程中的非线性畸变[来源于多个方
光学特性模型来对摄像机非线性畸变进行校正的方法,该算法运算过程较为简洁,实用性较强。在通用数码相目前对图像畸变校正的研究应该机日趋普遍的情况下,
集中在如何快速、准确地实现数字图像的非线性畸变校正。
本文针对敦煌壁画海量数字图像智能拼接系统的实际需要,通过研究镜头畸变的数学模型和参数标定方法,在V实现了非线C++环境下调用OenCV库函数、p性图像畸变校正。实验结果表明,该方法实现简便、准确,能够在保证无颜色失真的条件下获得理想的校正结果。
1 图像畸变模型1.1 摄像机模型
摄像机模型的选择直接影响最后的标定结果,因此要选择合适的摄像机模型,确定内外部参数。内部参数描述摄像机的内部光学和几何特性,如图像中心、焦距、镜头畸变等;外部参数就是相对于世界坐标系的摄像机坐标的三维位置和方向。为了更好地描述摄像机光学成像过程,根据世界坐标系、摄像机坐标系、像平面坐标
]47-
,系和计算机图像坐标系之间的相互关系[本文确定
包括C镜头中的镜片曲面误差、镜面,CD的制造误差、头中各镜片间的轴向间距等。这些因素产生的非线性变形,其综合效果用数学模型可表达为径向畸变、切向畸变2个部分。畸变会使图像的质量下降,给图像分析、处理、拼接、测量等带来误差,甚至造成误判,因此必须对镜头所造成的图像几何畸变进行校正。
3]
,目前,已经提出的相机非线性畸变校正方法[按
原理可分为基于控制对象法和模式法两大类。其中,基包括点、直线或其他于控制对象方法是利用控制对象(
特征对象)对目标的控制函数进行优化,以实现对图像的非线性校正。该方法具有较高的精度,并且对畸变系数的求解独立于相机其他参数的求解,从而避免了相机内外参数的相互影响;模式法是基于摄像机姿态模型和
收稿日期:20110126--
)基金项目:敦煌研究院“数字敦煌”项目资助(200914022/05-
的摄像机模型如图1所示。
设(是三维世界坐标系中物体点P的xw,zyw,w)
(三维坐标;x,z)是同一点P在摄像机坐标系中的y,光学中三维坐标。摄像机坐标系定义为中心在O点(,(心)光轴z轴与光轴中心重合。X,Y)是中心在Oi点(有z与图像平面的交点)平行于x,y轴的图像坐标系;
(效焦距f是图像平面和光学中心的距离;是理Xu,Yu)(想小孔摄像机模型下P点的图像坐标;是由透Xd,Yd)镜变形引起偏离(Xu,Yu)的实际图像坐标,P(u,v)是图像平面坐标系中的像素坐标。从三维世界坐标系到计算机图像坐标系的完整变换可分为如下四个步骤
:
pp1,2称为非线性畸变参数。
()图像坐标系中实际图像坐标P(4Xd,Yd)转换:为像素坐标P(u,v)
=[[]vfY+v]
y
q
0
uXq+ufx0
()4
(;式中:是基准点(通常在图像的中心)uvf为摄像0,0)机的有效焦距。
经过以上4步变换后即可得出点的世界坐标与图像坐标系中相应点的像素坐标的关系:
]()sm=A[R|tM′5式中:或者内参数矩阵。内参数矩A被称作摄像机矩阵,一旦计算出,可以被重复使用(只阵不依赖场景的视图,
;]被称作外参数矩要焦距固定)旋转-平移矩阵[R|t阵,用来描述相机相对于一个固定场景的运动,或者相]将点反,物体围绕相机的的刚性运动,也就是[R|t(这个坐标系相对于x,z)的坐标变换到某个坐标系,y,
摄像机来说是固定不变的。1.2 畸变参数标定
OenCV中提供的标定算法采用张正友标定p
]89-
,该方法是介于传统标定方法和自标定方法之间法[
的一种方法,它要求一个精确定位点阵的平面模板,然后通过自由移动摄像机或标定模板,使得摄像机至少在相对标定模板)拍摄模板图像,通过模2个不同的位置(
)先用直接线板上的点和其图像的单应性(Homorahgp性变换(方法来确定摄像机的内部参数和外DLT变换)],)部参数。设H=A[则式(可写成:Rt5|令H=[h1h2
()sm=HM6],则rhrK[3]=λ1r2t1=
图1 摄像机模型
()世界坐标系向摄像机坐标系(即从(1xw,zyw,w))的转换公式为:到(x,z)y,
xww+T=Ry
()1
zw式中:R为一个3×3旋转矩阵;T为一个3×1平移向量。
()小孔成像模型中理想投影变换公式为:2
-1-1
根据旋转矩阵的性质,即每幅hrh1,2=2,
λλ
图像可以获得以下两个对内参数矩阵的基本约束:
T-T-1 2=01AAh()7T-T-1T-T-1 1AAh2AAh1=h2如果有3幅以上的 由于摄像机有5个未知内参数,
Xu=f
z
()2u=fz3)用于描述图像坐标系中实际图像坐标(Xd, (
之间的变换。引入透镜的Yd)与理想图像坐标(Xu,Yu)径向畸变和切向畸变,表达式为:
模板图像,就可以线性惟一求解得到矩阵A的值,参数也能够求出来。这个计算过程都是求解线性方程,且求解速度快,但由于没有考虑透镜畸变的影响,得到的参数值并不准确。
本文以这些参数为初始值,在考虑2阶径向畸变的同时应用Levenberaruardt算法对图像点与再投-Mgq
影点间的距离之和进行非线性最小优化,可以得到一组精度更高的值。
珘,珘)为理想的像素坐标;(设(uvu,v)为实际的像素
Xu=Xd+kx(x+y)+1
223xx+y)+2 (ppy)1(2
22u=Yd+kx+y)+y(2
2
2
()3
22
xx+3+2py)py)2(1 (
2222
式中:为径向半径的平方且RdRdkk=Xd+Yd;1,2,珟,(,坐标;是基准点(通常在图像的中心)同样(uvx0,0)
珘)和(x,yy)为理想的和实际的图像坐标。于是:
22222珟=x+x[kxx+y)+k+y)]1(2()(822222[()()]+k=y+yk1x+y2x+y珘=u珟+c珘和式中:由ukaxy1与k2为径向畸变系数。0+
其间还要用到I读入图像的颜色和深度,lImae结构pg方便存取图像中的像素值和CvPoint2D32f结构来表示二维浮点型坐标点。
()畸变校正,使用O2enCV提供的Undistort2p
函数。函数原型:
(,C,voidcvUndistort2constCvArrrcvArrstconst *s*d_,,_CvMatntrinsicmatrixconstCvMatistortioncoeffs)*i *d
珘=v珘可以得到下式:vy0+β
22222=u+([u-ukxx+y)+k+y)]0)1(2(22222=v+([v-vkxx+y)+k+y)]0)1(2(()9可以通过下面的方法求解k1和k2:
22222
(((u-uxu-uxk+y)(+y)0)0)1
·=22222
(((kv-vxv-vx2+y)(+y)0)0)
珘-uu
()10
珘v-v
并通过最小二乘法,解得 给定n副图像的m个点,
,其中:已经变形的图像)只能变换src为原始图像(
[][]
。已经校正的图像)32fC1的图像;dst为结果图像(in-
trinsic_matrix为相机内参数矩阵,格式为0cfxx_0fdistortioncoeffs为4个变形系数组成ycy; 0 10
。函数c的向量,格式为[kkvUndistort2pp1 2 1 2]
通过对图像进行变换来抵消径向和切向的镜头变形。摄像机参数和变形参数可以通过函数cvCalibrateCam-对每个输出图像era2取得。用透视变换的投影公式,的像素计算其在输入图像中的位置,然后通过双线性插如果图像的分辨率与定标使值来计算出图像的像素值,
用的图像分辨率不同,则fccfx,x,y,y需要进行相应调整。
)保存图片。使用O(3enCV提供的cvSaveIm-pae函数。函数原型:g
(,_)cvSaveImaestrSaveImaeNameimtranslationggg
[]
这个线形方程组的解。一旦k即可以1和k2得到结果后,优化其他的参数。
2 基于OenCV的图像畸变校正p
[0]
是IOenCV1ntel计算机视觉类库。由一系列Cp
函数和少量C++类构成,实现了图像处理和计算机视
觉方面的很多通用算法,可用于开发实时的图像处理、计算机视觉以及模式识别程序,极大地方便了图像和视/频处理研究者进行二次开发,它包含了500多个C。高层AC++函数的跨平台中、PI
本文借助O充分利enCV对拍摄图像进行校正,p用O通过手动调整畸变参数实enCV的函数库功能,p可以很好地校正图像的非线性畸现对畸变图像的校正,
变,获得理想的效果和准确度,有效地提高了开发效率,并且执行速度快,具有良好的跨平台移植性,因此可以很好地应用于工程实际中。
在OenCV中几何畸变效果由8个自由参数决p,定,分别是f相机焦距横坐标)相机焦距纵坐fx(y(
,,,图像基准点横坐标)图像基准点纵坐标)标)ccx(y(),),径向畸变参数1径向畸变参数2切向畸kkp1(2(1(
),)。变参数1切向畸变参数2其中,参数ccp2(x,y属于基准点,也就是图像中心,一般的图片示例中可以不做调整;参数f最好一致;参数kkfx,1,2y属于镜头焦距,针对径向畸变,当不存在径向畸变时调整为0;参数p1,当不存在切向畸变时调整为0。p2针对切向畸变,
主要的实现函数如下:()加载原始图像。使用O1enCV提供的cv-pLoadImae函数。函数原型:g
,cvLoadImae(strFileNameflas=CV_LOAD_IMAGE_ggCOLOR)
_其中:图像格式imaetranslation表示要保存的图像,g的选择依赖于s如果格trSaveImaeName的扩展名,g深度或者通道不符合要求,可以用c式、vCvScale和校正结束后结果保存到打开图像目cvCvtColor转换,
录下。
(4)内存释放。最后用cvReleaseMat函数释放
防止内存泄露。函cvCreateMat函数分配的内存空间,
数原型:
()cvReleaseMatCVMatat***m
根据上述的原理和步骤,本文在WindowsXP平台 下用VC++6.0开发了一个基于OenCV1.0版本的 p
界面如图2所MFC对话框结构的镜头畸变校正程序,示。实验中采用一幅4如图3所89×518像素的图像,示,由建筑物和人物的边缘轮廓线可知,图像产生了明显的畸变和失真,必须要进行畸变校正。
首先将图像载入程序后,点击转换按钮,手动调整形变系数,消除图像的非线性畸变,调整后的形变系数,从图4可以得出,图像发生了径向畸变,切向畸变为0。调整径向畸变系数k得到校正后的图像如图51和k2,所示,校正效果良好。
其中,strFileName代表要被读入的文件名;flas指定g
图像畸变校正,该方法具有简单、精确,运算效率高,跨平台移植性好等优点,可以有效地应用在需要计算机视具有很好的工程应用价值。但是,觉系统的各个领域,
该方法对精确图像处理和应用方面还有一定的局限性,今后需在这些方面对其进行进一步的改进
。
图2
对话框程序界面
图5 校正后图像参 考 文 献
[]朱铮涛,]黎绍发.镜头畸变及其校正技术[光学技术,1J.
():,2005,311136138141.-
[]贾洪涛,]朱元昌.摄像机图像畸变纠正技术[电子测量与2J.
():仪器学报,2005,1934649.-
图3
校正前图像
[]胡东红,汪浩,艾君,等.两种图像校正算法在实际应用中的3
]():,比较[计算机工程与应用,J.2009,4513191193226.-[]容观澳.计算机图像处理[北京:清华大学出版社,4M].2000.[]陈利红,毛剑飞,诸静.5CCD摄像机标定与修正的简便方法
[]():浙江大学学报:工业版,J.2003,374406409.-
[]马颂德,张正友.计算机视觉[北京:科学出版社,6M].2003.[]郑南宁.计算机视觉与模式识别[北京:国防工业出版7M].
社,1998.
[]李跃,汪亚明,黄文清,等.基于O8enCV的摄像机标定方法p
]():,浙江理工大学学报,研究[J.2010,273417420440.-[9]ZHANGZhenou.Aflexiblenewtechniueforcamera - gyq
]calibration[J.IEEETransactionsonPatternAnalsisand y
图4 调整后对话框界面
,():MachineIntellience2000,221113301334. -g
[]刘瑞祯,[于仕琪.基础篇)北京:北京航10OenCV教程(M].p
空航天大学出版社,2007.
[]田书成,程永强,黄英男.基于D11SP的视频监控系统硬件设
]():计[电子设计工程,J.2009118485,88.-
3 结 语
本文采用O实现单一的enCV中视觉标定原理,p
作者简介:陶旺林 女,硕士研究生。主要研究方向为数字图像处理。1985年出生,
卢选民 男,副教授。主要研究方向为多媒体通信与智能信息处理、宽带无线移动网络技术等。1972年出生,刘李娟 女,硕士研究生。主要研究方向为数字图像处理。1986年出生,
2011年6月15日第34卷第12期
现代电子技术
ModernElectronicsTechniue q
Jun.2011
Vol.34No.12
基于OenCV的非线性图像畸变校正研究p
陶旺林,卢选民,刘李娟,单 长
()西北工业大学电子信息学院,陕西西安 710129
摘 要:由于光学镜头加工和装配误差的存在,数字相机拍摄图像常会出现非线性的几何畸变。针对这一常见问题,通过研究镜头畸变的数学模型和摄像机模型以及参数标定方法,在V实现了图像畸变校正。C++环境下调用OenCV库函数,p实验结果表明,该方法能够在保证无颜色失真的条件下获得理想的校正结果,并且实现简便、准确。
关键词:镜头畸变;摄像机模型;畸变校正;OenCVp
)中图分类号:TN91934;TP391 文献标识码:A 文章编号:1004373X(201112011704----
ANonlinearImaeDistortionRectificationTechniueBasedonOenCV - gqp
,,,TAO WanlinLU XuaninLIULiuanSHANChan--m - gjg
(,N,X’)SchoolofElectronicsandInformationorthwesternPoltechnicalUniversitian710129,China yy
:NeneralroblemrocessinAbstractonlinearimaedistortionisanindiitalcameradesinbecauseoftheexistenceof- gppgggg,andassemblerrorofoticallenses.Inthisthenonlineardiitalimaedistortionrectificationisimlementedusintheaer - ypggpgpp ,librarfunctionofOenCVundertheenvironmentofVC++banalzinthemathmodelofthelensdistortionthecamera ypyyg ,modelandthecalibrationmethod.Theexerimentresultsindicatethatthismethodissimleefficientandaccuarameter -ppprate.
:;;;KewordslensdistortioncameramodelimaedistortionrectificationOenCV gpy
0 引 言
随着数字技术的发展,数字相机在工业、交通、医军事等邻域得到了广泛应用。由于光学镜头的生产疗、
工艺等原因,使其拍摄到的数字图像与理想的小孔透视模型有一定的差别,常会出现非线性的几何畸变。一般
]12-
来说,相机成像过程中的非线性畸变[来源于多个方
光学特性模型来对摄像机非线性畸变进行校正的方法,该算法运算过程较为简洁,实用性较强。在通用数码相目前对图像畸变校正的研究应该机日趋普遍的情况下,
集中在如何快速、准确地实现数字图像的非线性畸变校正。
本文针对敦煌壁画海量数字图像智能拼接系统的实际需要,通过研究镜头畸变的数学模型和参数标定方法,在V实现了非线C++环境下调用OenCV库函数、p性图像畸变校正。实验结果表明,该方法实现简便、准确,能够在保证无颜色失真的条件下获得理想的校正结果。
1 图像畸变模型1.1 摄像机模型
摄像机模型的选择直接影响最后的标定结果,因此要选择合适的摄像机模型,确定内外部参数。内部参数描述摄像机的内部光学和几何特性,如图像中心、焦距、镜头畸变等;外部参数就是相对于世界坐标系的摄像机坐标的三维位置和方向。为了更好地描述摄像机光学成像过程,根据世界坐标系、摄像机坐标系、像平面坐标
]47-
,系和计算机图像坐标系之间的相互关系[本文确定
包括C镜头中的镜片曲面误差、镜面,CD的制造误差、头中各镜片间的轴向间距等。这些因素产生的非线性变形,其综合效果用数学模型可表达为径向畸变、切向畸变2个部分。畸变会使图像的质量下降,给图像分析、处理、拼接、测量等带来误差,甚至造成误判,因此必须对镜头所造成的图像几何畸变进行校正。
3]
,目前,已经提出的相机非线性畸变校正方法[按
原理可分为基于控制对象法和模式法两大类。其中,基包括点、直线或其他于控制对象方法是利用控制对象(
特征对象)对目标的控制函数进行优化,以实现对图像的非线性校正。该方法具有较高的精度,并且对畸变系数的求解独立于相机其他参数的求解,从而避免了相机内外参数的相互影响;模式法是基于摄像机姿态模型和
收稿日期:20110126--
)基金项目:敦煌研究院“数字敦煌”项目资助(200914022/05-
的摄像机模型如图1所示。
设(是三维世界坐标系中物体点P的xw,zyw,w)
(三维坐标;x,z)是同一点P在摄像机坐标系中的y,光学中三维坐标。摄像机坐标系定义为中心在O点(,(心)光轴z轴与光轴中心重合。X,Y)是中心在Oi点(有z与图像平面的交点)平行于x,y轴的图像坐标系;
(效焦距f是图像平面和光学中心的距离;是理Xu,Yu)(想小孔摄像机模型下P点的图像坐标;是由透Xd,Yd)镜变形引起偏离(Xu,Yu)的实际图像坐标,P(u,v)是图像平面坐标系中的像素坐标。从三维世界坐标系到计算机图像坐标系的完整变换可分为如下四个步骤
:
pp1,2称为非线性畸变参数。
()图像坐标系中实际图像坐标P(4Xd,Yd)转换:为像素坐标P(u,v)
=[[]vfY+v]
y
q
0
uXq+ufx0
()4
(;式中:是基准点(通常在图像的中心)uvf为摄像0,0)机的有效焦距。
经过以上4步变换后即可得出点的世界坐标与图像坐标系中相应点的像素坐标的关系:
]()sm=A[R|tM′5式中:或者内参数矩阵。内参数矩A被称作摄像机矩阵,一旦计算出,可以被重复使用(只阵不依赖场景的视图,
;]被称作外参数矩要焦距固定)旋转-平移矩阵[R|t阵,用来描述相机相对于一个固定场景的运动,或者相]将点反,物体围绕相机的的刚性运动,也就是[R|t(这个坐标系相对于x,z)的坐标变换到某个坐标系,y,
摄像机来说是固定不变的。1.2 畸变参数标定
OenCV中提供的标定算法采用张正友标定p
]89-
,该方法是介于传统标定方法和自标定方法之间法[
的一种方法,它要求一个精确定位点阵的平面模板,然后通过自由移动摄像机或标定模板,使得摄像机至少在相对标定模板)拍摄模板图像,通过模2个不同的位置(
)先用直接线板上的点和其图像的单应性(Homorahgp性变换(方法来确定摄像机的内部参数和外DLT变换)],)部参数。设H=A[则式(可写成:Rt5|令H=[h1h2
()sm=HM6],则rhrK[3]=λ1r2t1=
图1 摄像机模型
()世界坐标系向摄像机坐标系(即从(1xw,zyw,w))的转换公式为:到(x,z)y,
xww+T=Ry
()1
zw式中:R为一个3×3旋转矩阵;T为一个3×1平移向量。
()小孔成像模型中理想投影变换公式为:2
-1-1
根据旋转矩阵的性质,即每幅hrh1,2=2,
λλ
图像可以获得以下两个对内参数矩阵的基本约束:
T-T-1 2=01AAh()7T-T-1T-T-1 1AAh2AAh1=h2如果有3幅以上的 由于摄像机有5个未知内参数,
Xu=f
z
()2u=fz3)用于描述图像坐标系中实际图像坐标(Xd, (
之间的变换。引入透镜的Yd)与理想图像坐标(Xu,Yu)径向畸变和切向畸变,表达式为:
模板图像,就可以线性惟一求解得到矩阵A的值,参数也能够求出来。这个计算过程都是求解线性方程,且求解速度快,但由于没有考虑透镜畸变的影响,得到的参数值并不准确。
本文以这些参数为初始值,在考虑2阶径向畸变的同时应用Levenberaruardt算法对图像点与再投-Mgq
影点间的距离之和进行非线性最小优化,可以得到一组精度更高的值。
珘,珘)为理想的像素坐标;(设(uvu,v)为实际的像素
Xu=Xd+kx(x+y)+1
223xx+y)+2 (ppy)1(2
22u=Yd+kx+y)+y(2
2
2
()3
22
xx+3+2py)py)2(1 (
2222
式中:为径向半径的平方且RdRdkk=Xd+Yd;1,2,珟,(,坐标;是基准点(通常在图像的中心)同样(uvx0,0)
珘)和(x,yy)为理想的和实际的图像坐标。于是:
22222珟=x+x[kxx+y)+k+y)]1(2()(822222[()()]+k=y+yk1x+y2x+y珘=u珟+c珘和式中:由ukaxy1与k2为径向畸变系数。0+
其间还要用到I读入图像的颜色和深度,lImae结构pg方便存取图像中的像素值和CvPoint2D32f结构来表示二维浮点型坐标点。
()畸变校正,使用O2enCV提供的Undistort2p
函数。函数原型:
(,C,voidcvUndistort2constCvArrrcvArrstconst *s*d_,,_CvMatntrinsicmatrixconstCvMatistortioncoeffs)*i *d
珘=v珘可以得到下式:vy0+β
22222=u+([u-ukxx+y)+k+y)]0)1(2(22222=v+([v-vkxx+y)+k+y)]0)1(2(()9可以通过下面的方法求解k1和k2:
22222
(((u-uxu-uxk+y)(+y)0)0)1
·=22222
(((kv-vxv-vx2+y)(+y)0)0)
珘-uu
()10
珘v-v
并通过最小二乘法,解得 给定n副图像的m个点,
,其中:已经变形的图像)只能变换src为原始图像(
[][]
。已经校正的图像)32fC1的图像;dst为结果图像(in-
trinsic_matrix为相机内参数矩阵,格式为0cfxx_0fdistortioncoeffs为4个变形系数组成ycy; 0 10
。函数c的向量,格式为[kkvUndistort2pp1 2 1 2]
通过对图像进行变换来抵消径向和切向的镜头变形。摄像机参数和变形参数可以通过函数cvCalibrateCam-对每个输出图像era2取得。用透视变换的投影公式,的像素计算其在输入图像中的位置,然后通过双线性插如果图像的分辨率与定标使值来计算出图像的像素值,
用的图像分辨率不同,则fccfx,x,y,y需要进行相应调整。
)保存图片。使用O(3enCV提供的cvSaveIm-pae函数。函数原型:g
(,_)cvSaveImaestrSaveImaeNameimtranslationggg
[]
这个线形方程组的解。一旦k即可以1和k2得到结果后,优化其他的参数。
2 基于OenCV的图像畸变校正p
[0]
是IOenCV1ntel计算机视觉类库。由一系列Cp
函数和少量C++类构成,实现了图像处理和计算机视
觉方面的很多通用算法,可用于开发实时的图像处理、计算机视觉以及模式识别程序,极大地方便了图像和视/频处理研究者进行二次开发,它包含了500多个C。高层AC++函数的跨平台中、PI
本文借助O充分利enCV对拍摄图像进行校正,p用O通过手动调整畸变参数实enCV的函数库功能,p可以很好地校正图像的非线性畸现对畸变图像的校正,
变,获得理想的效果和准确度,有效地提高了开发效率,并且执行速度快,具有良好的跨平台移植性,因此可以很好地应用于工程实际中。
在OenCV中几何畸变效果由8个自由参数决p,定,分别是f相机焦距横坐标)相机焦距纵坐fx(y(
,,,图像基准点横坐标)图像基准点纵坐标)标)ccx(y(),),径向畸变参数1径向畸变参数2切向畸kkp1(2(1(
),)。变参数1切向畸变参数2其中,参数ccp2(x,y属于基准点,也就是图像中心,一般的图片示例中可以不做调整;参数f最好一致;参数kkfx,1,2y属于镜头焦距,针对径向畸变,当不存在径向畸变时调整为0;参数p1,当不存在切向畸变时调整为0。p2针对切向畸变,
主要的实现函数如下:()加载原始图像。使用O1enCV提供的cv-pLoadImae函数。函数原型:g
,cvLoadImae(strFileNameflas=CV_LOAD_IMAGE_ggCOLOR)
_其中:图像格式imaetranslation表示要保存的图像,g的选择依赖于s如果格trSaveImaeName的扩展名,g深度或者通道不符合要求,可以用c式、vCvScale和校正结束后结果保存到打开图像目cvCvtColor转换,
录下。
(4)内存释放。最后用cvReleaseMat函数释放
防止内存泄露。函cvCreateMat函数分配的内存空间,
数原型:
()cvReleaseMatCVMatat***m
根据上述的原理和步骤,本文在WindowsXP平台 下用VC++6.0开发了一个基于OenCV1.0版本的 p
界面如图2所MFC对话框结构的镜头畸变校正程序,示。实验中采用一幅4如图3所89×518像素的图像,示,由建筑物和人物的边缘轮廓线可知,图像产生了明显的畸变和失真,必须要进行畸变校正。
首先将图像载入程序后,点击转换按钮,手动调整形变系数,消除图像的非线性畸变,调整后的形变系数,从图4可以得出,图像发生了径向畸变,切向畸变为0。调整径向畸变系数k得到校正后的图像如图51和k2,所示,校正效果良好。
其中,strFileName代表要被读入的文件名;flas指定g
图像畸变校正,该方法具有简单、精确,运算效率高,跨平台移植性好等优点,可以有效地应用在需要计算机视具有很好的工程应用价值。但是,觉系统的各个领域,
该方法对精确图像处理和应用方面还有一定的局限性,今后需在这些方面对其进行进一步的改进
。
图2
对话框程序界面
图5 校正后图像参 考 文 献
[]朱铮涛,]黎绍发.镜头畸变及其校正技术[光学技术,1J.
():,2005,311136138141.-
[]贾洪涛,]朱元昌.摄像机图像畸变纠正技术[电子测量与2J.
():仪器学报,2005,1934649.-
图3
校正前图像
[]胡东红,汪浩,艾君,等.两种图像校正算法在实际应用中的3
]():,比较[计算机工程与应用,J.2009,4513191193226.-[]容观澳.计算机图像处理[北京:清华大学出版社,4M].2000.[]陈利红,毛剑飞,诸静.5CCD摄像机标定与修正的简便方法
[]():浙江大学学报:工业版,J.2003,374406409.-
[]马颂德,张正友.计算机视觉[北京:科学出版社,6M].2003.[]郑南宁.计算机视觉与模式识别[北京:国防工业出版7M].
社,1998.
[]李跃,汪亚明,黄文清,等.基于O8enCV的摄像机标定方法p
]():,浙江理工大学学报,研究[J.2010,273417420440.-[9]ZHANGZhenou.Aflexiblenewtechniueforcamera - gyq
]calibration[J.IEEETransactionsonPatternAnalsisand y
图4 调整后对话框界面
,():MachineIntellience2000,221113301334. -g
[]刘瑞祯,[于仕琪.基础篇)北京:北京航10OenCV教程(M].p
空航天大学出版社,2007.
[]田书成,程永强,黄英男.基于D11SP的视频监控系统硬件设
]():计[电子设计工程,J.2009118485,88.-
3 结 语
本文采用O实现单一的enCV中视觉标定原理,p
作者简介:陶旺林 女,硕士研究生。主要研究方向为数字图像处理。1985年出生,
卢选民 男,副教授。主要研究方向为多媒体通信与智能信息处理、宽带无线移动网络技术等。1972年出生,刘李娟 女,硕士研究生。主要研究方向为数字图像处理。1986年出生,