摘 要:魚眼鏡頭因其寬視場和短焦距而廣泛應(yīng)用于機器人導(dǎo)航、智能交通等領(lǐng)域。但魚眼鏡頭拍攝的魚眼圖像存在較大程度的扭曲失真,所以圖像校正問題值得研究。本文提出了基于球面坐標定位算法的魚眼圖像校正模型算法。首先運用預(yù)處理把魚眼圖像中的有效區(qū)域識別并提取出來。然后采用掃描線逼近法,得到較快的速度和較好的識別效果。由于不需要對圖像進行標定,因此只選用二維算法進行校正。最后將球面坐標定位算法和雙線性灰度插值方法相結(jié)合,并與傳統(tǒng)的球面投影法進行對比試驗。實驗表明,與傳統(tǒng)的球面投影模型相比,球面坐標定位模型運行速度更快、圖像校正質(zhì)量更好。
關(guān)鍵詞:魚眼圖像;球面坐標定位;掃描線逼近法;雙線性插值;坐標映射
中圖分類號:TP391.41
很多的情況下,機器需要一個廣角甚至全360°大視場。為滿足這樣的需求,魚眼攝像頭就得到應(yīng)用。魚眼攝像頭可獲得非常大角度的視場,目前說,基本上的魚眼攝像頭都可以做到180°甚至于360°全景。如此廣闊的視角,為機器視覺的發(fā)展提供良好的基礎(chǔ)。然而,魚眼攝像頭所拍攝的圖像,并不是通??吹降耐队皥D,它是一個圓形,存在較大失真(尤其是邊緣部分)的圖像。越靠近邊緣,失真越大。這樣的情況,對于場景分析是十分不利。所以,需要對魚眼圖像進行相應(yīng)的校正,盡可能的得到與原始圖像相近的圖像本文的目的,也是要對失真的魚眼圖像進行校正,而且,需要進行快速校正,以應(yīng)用于視頻序列分析。
1 球面坐標定位算法模型及其實現(xiàn)
1.1 球面坐標定位算法模型建立。球面坐標定位法又稱為經(jīng)度映射法,是一種比較典型快速的二維魚眼圖像校正算法。球面坐標定位法的原理就是利用球面的經(jīng)度映射,如圖1所示:
圖1 球面坐標定位法模型
圖中的每一條經(jīng)線都有一個共同的特點,在相同經(jīng)線上的點,被校正后,在校正坐標里,有著相同的橫坐標,就好像H,K這兩點一樣,雖然處于不同的橫縱坐標下,但其實他們被校正后的點的橫坐標是一樣的。該模型的主要原理是:在圖片上,取任一豎直方向的點Y,無論從球面的左邊還是右邊看,角度差是一致的,并且,與之對應(yīng)的線段dx在x軸上均勻的分割著經(jīng)線,使得不同的Y上經(jīng)度間x方向上的距離相等。
1.2 圖像的二值化及輪廓提取。圖像的二值化是把一個彩色RGB圖像變成一個純灰度圖像的過程[5]。圖像的二值化處理有很多的方法可取,采用簡單的二值化處理方法:
(1)尋找閾值;
(2)小于或者等于閾值的其灰度值設(shè)置為0,大于閾值的灰度值設(shè)置為255。對圖像進行二值化,實質(zhì)上是要對圖像進行輪廓處理,本文采用掃描線逼近法。
這種算法的詳細步驟:
(1)設(shè)定閾值,建立對應(yīng)的掃描線循環(huán)。對于RGB系統(tǒng)的圖像,需要進行灰度值轉(zhuǎn)化,轉(zhuǎn)化公式如下:
I=0.59R+0.11G+0.3B (1)
(2)根據(jù)公式(1)就可以得到各個點的灰度值,然后就可以得到灰度值差I(lǐng)。一旦發(fā)現(xiàn)I的值大于預(yù)先所設(shè)定的閾值,則認為掃描已經(jīng)進入有效區(qū)域,該方向的搜索將會立即停止。
(3)掃描結(jié)束,得到外切正方形,計算得到中心和半徑公式如下: (2)
1.3 球面坐標定位算法求解。按照圖1所示,根據(jù)圖中所表示的線段,以及前節(jié)所述的原理,應(yīng)有如下公式:
(3)
其中,R為魚眼有效區(qū)域的半徑,xh為h點在原圖像中的橫坐標(為一個整數(shù)),Y為k點在原圖像中的縱坐標。這里特別需要注意的是,xk實際上是校正后的坐標,并且可以看到,在進行這樣的運算之后,xk不再是一個整數(shù)。公式(3)給出的就是魚眼圖像上的某一點于校正后某一點的一個映射關(guān)系。同時,前面經(jīng)指出,計算后的點并不是一個整數(shù),這對于數(shù)字圖像來說,是無法存儲的。鑒于這一點,進行這樣的逆映射:
(4)
在這樣的逆映射下,從一個已建立好的校正圖像,通過逆映射找到在原圖像中的非整數(shù)像素點,然后,通過相應(yīng)的插值法,就可以定位到原圖像中的一個或幾個準確的點,通過這些點的值,得到校正后該位置的像素的值[6]。
1.4 球面坐標定位算法描述。
(1)獲取圖像,進行二值化處理。由于本文采用經(jīng)典二維球面坐標定位法處理魚眼圖像,不用進行攝像機標定等相關(guān)操作;
(2)采用掃描線逼近法獲取有效區(qū)域的半徑和中心。二值化后的圖像進行掃描線逼近法,可以更加明顯的區(qū)分出有效區(qū)域,并且克服邊緣黑點的影響,實現(xiàn)和區(qū)域增長法相似的效果。倘若檢測出有效區(qū)域是個橢圓,那么,需要對橢圓進行標準圓變換;
(3)獲取半徑和中心之后,建立從目標圖像到原圖像的映射關(guān)系。首先建立一個由半徑?jīng)Q定的正方形目標圖像,設(shè)置初始像素點為0。以像素為單位在目標圖像和原圖像中建立坐標,根據(jù)公式(4)實現(xiàn)逆映射;
(4)得到目標圖像和原圖像的對應(yīng)像素點的關(guān)系;
(5)得到初始校正圖像。
2 校正后的后續(xù)處理——雙線性插值法
采用球面坐標定位算法模型對魚眼鏡頭圖像進行畸變校正后,圖像中間部分恢復(fù)完整,但邊緣部分仍有一定的桶形畸變,為得到更好的校正效果,需對初次校正圖像進行雙線性灰度插值。
3 實驗結(jié)果
本文對同一幅魚眼鏡頭圖像分別采用球面坐標定位算法模型和球面透視投影校正魚眼圖像法進行畸變校正。所得結(jié)果如圖3和圖4所示。圖3顯示的是魚眼鏡頭圖像畸變圖和采用球面坐標定位算法模型進行畸變校正圖。圖4顯示的是分別采用球面坐標定位法與球面透視投影法進行畸變校正后的效果圖。從圖3兩幅圖的對比中可以看到,球面坐標定位法對圖像的中間區(qū)域的校正是非常令人滿意的,雖然在邊緣區(qū)域,初次校正圖像校正效果不是很好。但對初次校正圖像進行雙線性灰度插值后,邊緣的彎曲失真曲線也得到了較好的校正。從圖4兩幅圖對比來看,球面透視投影法相比之下不夠清晰球,而球面坐標定位法對扭曲景物的還原更加詳細,因此,可以得出球面坐標定位模型優(yōu)于球面透視投影法模型。
圖3 魚眼圖像畸變圖和校正效果圖;圖4 球面坐標定位法與球面透視投影法
4 結(jié)束語
本文根據(jù)魚眼鏡頭的特點,提出了基于球面坐標定位算法的魚眼圖像校正模型算法。圖像輪廓的提取采用掃描線逼近法,圖像校正采用球面坐標定位法以及雙線性法對校正圖像進行插值,得出的效果圖很好的滿足了本文對魚眼圖像處理的要求。在確保耗時少的基礎(chǔ)上,校正效果也得到了保證。
參考文獻:
[1]Ma Z J,Li T.The Research and Implementation Algorithm for Fisheye Image[J].Advanced Materials Research,2013:519-522.
[2]吳桂萍,吳巍,王成.基于雙線性插值的魚眼圖像校正方法[J].計算機應(yīng)用與軟件,2012(02):122-124.
作者簡介:徐金才(1992-),男,江西宜春人,本科,本科在讀。
作者單位:中南大學(xué)物理與電子學(xué)院,長沙 410012
基金項目:本項目獲得中南大學(xué)自由探索項目資助,中南大學(xué)本科生自由探索計劃項目(項目編號:2282014bks115)。