孟灵
摘要:针对鱼眼图像存在的畸变问题,借助球面投影,根据等距投影的原理逆向推导等距投影的校正模型,从而对鱼眼畸变图像进行了校正,通过在Matlab平台上进行仿真实验,取得了较好的校正效果。该算法使用方便,且对视场角不同的图像都能进行恰当的校正,同时该算法在转换过程中不会造成像素的损失,保留了鱼眼图像原有的清晰度。
关键词:鱼眼图像 等距投影 畸变校正
中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2016)05-0000-00
1 引言
鱼眼镜头是一种较短焦距,视角接近甚至超过180度的超广角镜头[1]。常规镜头的视角有限因而在许多领域内受到限制,鱼眼镜头具有大视角、信息量丰富等优点而被广泛应用于计算机视觉等领域,由于其焦距短视角大的特点和光学原理的约束,导致了所拍摄的图像畸变非常明显,难以满足正常需求[2]。如果需要使用这些严重畸变的图像,就要将这些图像校正为人眼习惯的投影图像。因此实现鱼眼图像的校正成为国内外研究的热点。鱼眼镜头的几何投影模型分为四种,即正交投影、等距投影、等立体角投影和体式投影[3]。应用最广泛的是等距投影,但在校正研究当中多是以正交投影作为模型。
2 等距投影的鱼眼图像校正算法
2.1提取鱼眼图像的有效区域
从鱼眼镜头拍摄的图像特征可以发现,鱼眼图像的有效范围通常是一个圆形,有效范围之外为黑色,如图1所示。因此需要先确定图像的轮廓,从而得到图像的圆心和半径。
分别从图像的上、下、左、右四个方向进行检测,利用公式Gray = 0.30*R+0.59*G+0.11*B,将RBG像素点转化为灰度值,由于图像为黑色时,灰度值接近于零,因此定义一个相对较小的值T作为比较的标准。当Gray>=T时,像素点在图像的有效区域内[4]。最后确定有效区域的行数和列数分别为m、n,其示意图如图2所示。
2.2等距投影图像的校正算法
等距投影,顾名思义就是沿某一方向的距离投影之后保持不变,其模型示意图如图3所示。图中的半球表面即为鱼眼图像投影的半球面,球面半径即为镜头焦距,记为f。假设P为鱼眼图像上任意一点,点为P点在球面的投影,延长,交平行于xOy平面且与半球相切(切点为A)的平面于Q点,根据等距投影的鱼眼图像特点,Q点应为图像校正后P点的位置[5]。
不同镜头的视场角度可能不同,因此所拍摄图片的畸变程度也就不同,为保证校正后图像的精确度,需要先根据视场角度求出镜头焦距f。当视场角度为时,鱼眼图像刚好映射到整个半球面,于是鱼眼图像上的任一直径映射到球面上即为经过A点且连接半球直径的圆弧。令R为鱼眼图像的半径,由周长公式得到
由于校正后的图像比源图像像素多了很多,正向投影后会出现大量的空隙点,而在像素点较为分散的区域使用插值法难免会干扰图像内容,因此选择多对一映射的逆向投影,即从目标图像投影到半球面,再从半球面投影到源图像上。
令目标图像的高宽分别为,,图像上选取一点,假设其坐标为。进行坐标变换,将原点平移到图像的中点,于是得到原点变换后对应的点的坐标(xQ,yQ)为
首先求球面上P的映射点的坐标。求出P点的入射角φ,用、、分别表示球面上点的x坐标、y坐标和z坐标。得到以下方程:
通过和同号确定的取值,并求出。这时鱼眼图像的圆心在坐标原点上,做一次坐标变换,将原点从鱼眼图像的圆心位置平移到图片的左上角,得到P点在源图像上对应点U的坐标。
另外,当Q点的x坐标或y坐标为0时,即Q点位于x轴或y轴上,这时该坐标没有发生畸变,即当时,,当时,。
经过以上的变换,即可做到从目标图像上任一点都可找到源图像对应点U的映射,从而完成等距投影鱼眼图像的校正。
3实验验证
为了验证本文算法的有效性,在Matlab平台下对一幅鱼眼图像进行实验验证,其结果如图4所示,可以看出鱼眼图像经过校正之后,图像的形状和比例基本可以恢复正常。
由于等距投影的特性,当视场角大于π时,校正后难以得到完整的校正图像。当视场角小于π时,通过调整目标图像的大小即可获得校正图像的全景。因此对于视场角太大的图像,可以考虑保证校正效果的前提下放弃图像靠近边缘的信息,如图5(b)是用180度的视场角进行的校正;或者在保证图像信息全面的前提下降低部分校正效果,如图5(c)是降低到140度的视场角进行的校正。
由于鱼眼图像越靠近边缘的地方信息量越大,也导致了校正后的图像中越靠近边缘的区域放大的倍数越大,而令边缘区域的图像在校正后和中心位置的图像等比例,同时又不降低中心位置图像的清晰度,这就使得校正后的图像像素增加了数倍,且鱼眼图像的视场角越大边缘畸变程度越大,图像需要放大的倍数也越大;同时,越接近中间的区域越清晰,越靠近边缘的区域越模糊。如图4(b)是图4(a)的9倍,图5(b)是图5(a)的12倍,这时也可以根据需求对图片进行截取或按比例缩小等后续处理。
4 结语
本文针对鱼眼图像存在的畸变问题,利用投影模型对其进行了校正,并在Matlab平台上进行了仿真实验,得到了接近日常习惯的透视影像,取得了较好的校正效果。该算法一方面使用方便,且对视场角不同的图像都能进行恰当的校正,避免了一般映射算法对于不同的鱼眼图像,有的校正不足,有的却过度校正的问题。另一方面本算法在转换过程中不会造成像素的损失,保留了图像原有的清晰度。
参考文献
[1] 张琨,王翠荣.基于圆分割的鱼眼镜头图像畸变校正算法[J].东北大学学报,2011,32(9):1240-1243.
[2] 魏利胜,周圣文,张平改 等.基于双经度模型的鱼眼图像畸变矫正方法[J].仪器仪表学报,2015,36(2):377-385.
[3] SCHNEIDER D,SCHWALBE E, MAAS H. Validation of geometric models for fisheye lenses[J].ISPRS Journal of Photogrammetry and Remote Sensing,2009,64(3): 259-266.
[4] 张伟.鱼眼图像校正算法研究[D].南京: 南京邮电大学,2011.
[5] 徐朝庆.基于正交投影和等距投影的鱼眼图像校正[J].冶金自动化,2015,(S1):538-542.