一种改变鱼眼镜头弧度的算法

2014-04-29 03:02田鹏夏道华唐阳山
电子世界 2014年19期
关键词:弧度

田鹏 夏道华 唐阳山

【摘要】鱼眼镜头的视场很大,可以拍摄很大范围的景物。鱼眼镜头的视场大小,是和鱼眼镜头的镜片弧度成正相关的,即镜头弧度越大,所拍摄图像的视场也就越大。通过研究鱼眼镜头的成像模型,对鱼眼镜头所成图像进行数学建模,并对模型进行计算,得出一种可以改变鱼眼镜头弧度的算法。

【关键词】鱼眼镜头;弧度;成像模型

Abstract:Field of view fisheye great,you can shoot a wide range of scenery. Fisheye field of view,and it is fisheye lens curvature of a positive correlation,the greater the curvature of the lens,the image captured by the greater field of view. By studying fisheye lens imaging model for fisheye images into mathematical modeling,and the model calculated the fisheye one can change the curvature of the algorithm.

Keywords:fisheye;radians;imaging model

1.引言

在图像处理领域,鱼眼镜头成像的畸变校正已经发展的较为成熟,各种鱼眼镜头畸变校正算法也是层出不穷。许多成熟的算法已经在实际产品中应用。但是畸变校正只是人们对于图像处理需求的一小部分,在很多情况下,人们拍摄一些图像时,不仅仅只考虑所成图像本身在三维世界的真实性,还要考虑图像所呈现的视觉效果上的冲击等。在这些情况下,只是简单的把鱼眼镜头所成图像进行畸变校正,还原三维世界的真实位置,反而不能实现图像所呈现的视觉效果。甚至在一些专业摄影中,还特别要求所成图像的大幅度畸变来体现一定的艺术效果。本文就通过对鱼眼镜头所成图像进行数学建模,通过数学模型,得出一种可以改变鱼眼镜头弧度的算法,通过该算法,可以实现对鱼眼镜头所成图像变换到不同的镜片弧度所成图像的效果。在实际摄影中,可以通过该算法对所拍摄的图像进行变形,得到拍摄者更为满意的图像。

2.鱼眼镜头的成像模型

鱼眼镜头成像不同于普通镜头,具有相当长的景深,有利于表现照片的长景深效果[1]。

为了改变鱼眼镜头的弧度,首先需要把真实三维场景中的物体与摄像机所成的图像之间的关系建立起来,只有明白了真实的景物在图像上的分布规律,才能按照这种分布规律设计出一种可以改变鱼眼镜头弧度的算法。

首先建立鱼眼镜头的成像模型,假设空间任意一点P在鱼眼镜头下的成像为p点,如图1所示:

图1 鱼眼镜头的球面成像模型

OXYZ为鱼眼镜头坐标系,即相机坐标系,OXY平面为图像平面坐标系,即图像坐标系。坐标系中的半球面为单位球面的一半,即球心在原点,球的半径为1。点P在通过鱼眼镜头后在图像平面上所成的像点为p。在鱼眼镜头成像过程中,每一个空间点P被映射为连接原点O与P的射线OP,OP与单位球面的交点形成了一个在单位球面上的点。单位球面上的无数个点,形成了球面透视投影图像。再将球面上这无数个点非线性的映射到OXY平面上,就得到一个圆形的鱼眼图像。

此外,图像的成像过程中还涉及到从世界坐标系到摄像机坐标系的转换,再由摄像机坐标系到图像坐标系的映射,这个过程是由矩阵的变换来表示的。在鱼眼镜头的畸变矫正中,这些变换过程是极其重要的,但是现在我们不通过矩阵的变换来使图像达到去畸变的效果,而是直接从二维的图像矩阵出发做运算,因此,我们不必关心各个坐标系转换的细节。

3.鱼眼镜头的弧度校正模型

通过对鱼眼镜头的成像模型进一步了解,我们发现:成像在原面上的图像,可以近似的认为是单位圆面上的像在OXY坐标系上的投影。当然,在这个投影的过程中,肯定会损失一部分信息,因为像素在成像的过程中被叠加在一起了。这种模型被称作球面透视投影模型。

考虑鱼眼镜头的球面透视投影模型,如果我们把OXY坐标系上所成的图像反向映射到圆面上,接着计算出圆面上每一点的图像畸变系数,然后再映射回OXY坐标系上,则就会消除鱼眼镜头所成图像的畸变。但是我们的目的并不是消除畸变,而是改变鱼眼镜头的弧度,即减弱这种畸变的程度或加强这种畸变的程度。从上面消除畸变的过程中受到启发,如果我们不把球面上的图像映射回OXY坐标系,而是映射到另一个球面上,如图2所示。我们发现,图像的畸变发生了变化,但不是消除了。

图2 单位圆面O上的像素Q映射到另一圆面o上

图3 映射俯视图

在映射的过程中,我们保持像素Q到Z轴的弧长L不变,即Q映射到圆面o上的q点后,q点到Z轴的距离也是L。通过保持这样一种关系,我们就实现了把单位圆面上的像素映射到了更大半径的圆面上。更大半径的成像圆面则意味着更小的畸变和更窄的视场,这样就实现了改变鱼眼镜头成像弧度的目的。图2是从侧面观察映射的过程,现在我们做一个俯视图,那么映射之后的像素位置和映射之前的像素位置就更清楚了,如图3所示:

注意图3中的纵轴不是Z轴,而是Y轴,Q点是单位圆面上的像素点在OXY圆面上的映射点,q点是圆面o在OXY上面的映射点,由三角形的相似关系可以求出Q与q在坐标上的关系。

通过图2和图3中的几何关系,假设Q点的坐标为Q( X ,Y )我们可以得到圆面o上的像素点q( x ,y )的坐标:

式中,R为单位圆O的半径,默认为1,R1为圆面o的半径。至此,我们已经求出了坐标变换的公式,通过上面的公式求出新的像素点在新的圆面上的坐标,然后再映射回OXY平面上,我们就得到了改变鱼眼镜头弧度后所成的图像。

图4 未进行处理的图像

图5 处理之后的图像

4.结束语

本文研究了鱼眼镜头成像的模型,通过球面模型等距投影法,计算出改变图像像素坐标的公式,并对畸变的鱼眼图像进行变换,实现了一种可以调节畸变程度,即改变鱼眼镜头弧度的算法。该算法为图像处理提供了一种新的思路,在实际的摄影中可以得到拍摄者更为满意的图像。

参考文献

[1]苑光明,丁承君,俞学波.基于鱼眼镜头的全方位视觉系统建模[J].天津工业大学学报,2010.6.

[2]袁辉.鱼眼镜头视频图像实时矫正算法研究与实现[D].中山大学.19-21.

[3]英向华,胡占义.一种基于球面投影透视约束的鱼眼镜头校正方法[J].计算机学报,2003.Vol.26 No 12:1702-1708.

[4]B.C Brauer,K.Voss,A new algorethm to correct fish-eye and strong wide-angle lens distortion from single images,In: Proceedings of the 2001 International Conference on Image Processing[C].2001,page:225-228.

猜你喜欢
弧度
《草堂十志》技法精讲(二)
为什么要引入弧度制
弧度制
去伪存真 再谈《弧度制》教学
不自由
弧度制的三个基本应用
散文的“弧度”
南瓜
希腊:日落最美的弧度
让学生在“做、议、思”中建构弧度制概念