田鵬 夏道華 唐陽山
【摘要】魚眼鏡頭的視場(chǎng)很大,可以拍攝很大范圍的景物。魚眼鏡頭的視場(chǎng)大小,是和魚眼鏡頭的鏡片弧度成正相關(guān)的,即鏡頭弧度越大,所拍攝圖像的視場(chǎng)也就越大。通過研究魚眼鏡頭的成像模型,對(duì)魚眼鏡頭所成圖像進(jìn)行數(shù)學(xué)建模,并對(duì)模型進(jìn)行計(jì)算,得出一種可以改變魚眼鏡頭弧度的算法。
【關(guān)鍵詞】魚眼鏡頭;弧度;成像模型
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.引言
在圖像處理領(lǐng)域,魚眼鏡頭成像的畸變校正已經(jīng)發(fā)展的較為成熟,各種魚眼鏡頭畸變校正算法也是層出不窮。許多成熟的算法已經(jīng)在實(shí)際產(chǎn)品中應(yīng)用。但是畸變校正只是人們對(duì)于圖像處理需求的一小部分,在很多情況下,人們拍攝一些圖像時(shí),不僅僅只考慮所成圖像本身在三維世界的真實(shí)性,還要考慮圖像所呈現(xiàn)的視覺效果上的沖擊等。在這些情況下,只是簡單的把魚眼鏡頭所成圖像進(jìn)行畸變校正,還原三維世界的真實(shí)位置,反而不能實(shí)現(xiàn)圖像所呈現(xiàn)的視覺效果。甚至在一些專業(yè)攝影中,還特別要求所成圖像的大幅度畸變來體現(xiàn)一定的藝術(shù)效果。本文就通過對(duì)魚眼鏡頭所成圖像進(jìn)行數(shù)學(xué)建模,通過數(shù)學(xué)模型,得出一種可以改變魚眼鏡頭弧度的算法,通過該算法,可以實(shí)現(xiàn)對(duì)魚眼鏡頭所成圖像變換到不同的鏡片弧度所成圖像的效果。在實(shí)際攝影中,可以通過該算法對(duì)所拍攝的圖像進(jìn)行變形,得到拍攝者更為滿意的圖像。
2.魚眼鏡頭的成像模型
魚眼鏡頭成像不同于普通鏡頭,具有相當(dāng)長的景深,有利于表現(xiàn)照片的長景深效果[1]。
為了改變魚眼鏡頭的弧度,首先需要把真實(shí)三維場(chǎng)景中的物體與攝像機(jī)所成的圖像之間的關(guān)系建立起來,只有明白了真實(shí)的景物在圖像上的分布規(guī)律,才能按照這種分布規(guī)律設(shè)計(jì)出一種可以改變魚眼鏡頭弧度的算法。
首先建立魚眼鏡頭的成像模型,假設(shè)空間任意一點(diǎn)P在魚眼鏡頭下的成像為p點(diǎn),如圖1所示:
圖1 魚眼鏡頭的球面成像模型
OXYZ為魚眼鏡頭坐標(biāo)系,即相機(jī)坐標(biāo)系,OXY平面為圖像平面坐標(biāo)系,即圖像坐標(biāo)系。坐標(biāo)系中的半球面為單位球面的一半,即球心在原點(diǎn),球的半徑為1。點(diǎn)P在通過魚眼鏡頭后在圖像平面上所成的像點(diǎn)為p。在魚眼鏡頭成像過程中,每一個(gè)空間點(diǎn)P被映射為連接原點(diǎn)O與P的射線OP,OP與單位球面的交點(diǎn)形成了一個(gè)在單位球面上的點(diǎn)。單位球面上的無數(shù)個(gè)點(diǎn),形成了球面透視投影圖像。再將球面上這無數(shù)個(gè)點(diǎn)非線性的映射到OXY平面上,就得到一個(gè)圓形的魚眼圖像。
此外,圖像的成像過程中還涉及到從世界坐標(biāo)系到攝像機(jī)坐標(biāo)系的轉(zhuǎn)換,再由攝像機(jī)坐標(biāo)系到圖像坐標(biāo)系的映射,這個(gè)過程是由矩陣的變換來表示的。在魚眼鏡頭的畸變矯正中,這些變換過程是極其重要的,但是現(xiàn)在我們不通過矩陣的變換來使圖像達(dá)到去畸變的效果,而是直接從二維的圖像矩陣出發(fā)做運(yùn)算,因此,我們不必關(guān)心各個(gè)坐標(biāo)系轉(zhuǎn)換的細(xì)節(jié)。
3.魚眼鏡頭的弧度校正模型
通過對(duì)魚眼鏡頭的成像模型進(jìn)一步了解,我們發(fā)現(xiàn):成像在原面上的圖像,可以近似的認(rèn)為是單位圓面上的像在OXY坐標(biāo)系上的投影。當(dāng)然,在這個(gè)投影的過程中,肯定會(huì)損失一部分信息,因?yàn)橄袼卦诔上竦倪^程中被疊加在一起了。這種模型被稱作球面透視投影模型。
考慮魚眼鏡頭的球面透視投影模型,如果我們把OXY坐標(biāo)系上所成的圖像反向映射到圓面上,接著計(jì)算出圓面上每一點(diǎn)的圖像畸變系數(shù),然后再映射回OXY坐標(biāo)系上,則就會(huì)消除魚眼鏡頭所成圖像的畸變。但是我們的目的并不是消除畸變,而是改變魚眼鏡頭的弧度,即減弱這種畸變的程度或加強(qiáng)這種畸變的程度。從上面消除畸變的過程中受到啟發(fā),如果我們不把球面上的圖像映射回OXY坐標(biāo)系,而是映射到另一個(gè)球面上,如圖2所示。我們發(fā)現(xiàn),圖像的畸變發(fā)生了變化,但不是消除了。
圖2 單位圓面O上的像素Q映射到另一圓面o上
圖3 映射俯視圖
在映射的過程中,我們保持像素Q到Z軸的弧長L不變,即Q映射到圓面o上的q點(diǎn)后,q點(diǎn)到Z軸的距離也是L。通過保持這樣一種關(guān)系,我們就實(shí)現(xiàn)了把單位圓面上的像素映射到了更大半徑的圓面上。更大半徑的成像圓面則意味著更小的畸變和更窄的視場(chǎng),這樣就實(shí)現(xiàn)了改變魚眼鏡頭成像弧度的目的。圖2是從側(cè)面觀察映射的過程,現(xiàn)在我們做一個(gè)俯視圖,那么映射之后的像素位置和映射之前的像素位置就更清楚了,如圖3所示:
注意圖3中的縱軸不是Z軸,而是Y軸,Q點(diǎn)是單位圓面上的像素點(diǎn)在OXY圓面上的映射點(diǎn),q點(diǎn)是圓面o在OXY上面的映射點(diǎn),由三角形的相似關(guān)系可以求出Q與q在坐標(biāo)上的關(guān)系。
通過圖2和圖3中的幾何關(guān)系,假設(shè)Q點(diǎn)的坐標(biāo)為Q( X ,Y )我們可以得到圓面o上的像素點(diǎn)q( x ,y )的坐標(biāo):
式中,R為單位圓O的半徑,默認(rèn)為1,R1為圓面o的半徑。至此,我們已經(jīng)求出了坐標(biāo)變換的公式,通過上面的公式求出新的像素點(diǎn)在新的圓面上的坐標(biāo),然后再映射回OXY平面上,我們就得到了改變魚眼鏡頭弧度后所成的圖像。
圖4 未進(jìn)行處理的圖像
圖5 處理之后的圖像
4.結(jié)束語
本文研究了魚眼鏡頭成像的模型,通過球面模型等距投影法,計(jì)算出改變圖像像素坐標(biāo)的公式,并對(duì)畸變的魚眼圖像進(jìn)行變換,實(shí)現(xiàn)了一種可以調(diào)節(jié)畸變程度,即改變魚眼鏡頭弧度的算法。該算法為圖像處理提供了一種新的思路,在實(shí)際的攝影中可以得到拍攝者更為滿意的圖像。
參考文獻(xiàn)
[1]苑光明,丁承君,俞學(xué)波.基于魚眼鏡頭的全方位視覺系統(tǒng)建模[J].天津工業(yè)大學(xué)學(xué)報(bào),2010.6.
[2]袁輝.魚眼鏡頭視頻圖像實(shí)時(shí)矯正算法研究與實(shí)現(xiàn)[D].中山大學(xué).19-21.
[3]英向華,胡占義.一種基于球面投影透視約束的魚眼鏡頭校正方法[J].計(jì)算機(jī)學(xué)報(bào),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.