國藝美 畢 波 唐錦萍
(1.東北石油大學數(shù)學與統(tǒng)計學院 大慶 163318)
(2.海南醫(yī)學院公共衛(wèi)生與全健康國際學院 海口 571199)
(3.黑龍江大學數(shù)據(jù)科學與技術學院 哈爾濱 150080)
因為魚眼鏡頭視場角為180°甚至更大,所以在許多攝影工作中得到了廣泛運用。但魚眼鏡頭存在嚴重的圖像徑向畸變的問題[1],針對此問題國內(nèi)外的學者們提出了很多校正魚眼圖像畸變的方法。對于魚眼圖像徑向畸變的校正,主要分為基于魚眼鏡頭標定的校準方法[2~3]和基于投影變換理論的校正方法[4~7]。我們知道,想要進行魚眼圖像矯正的第一步也是很重要的一步就是對魚眼圖像有效區(qū)域的提取,目前常用的方法有面積統(tǒng)計法[8]和掃描線逼近法[9~10],但面積統(tǒng)計法對于魚眼圖像圓形有效區(qū)域內(nèi)存在大量黑色像素時會出現(xiàn)較大偏差,因此適用性并不廣泛。掃描線逼近法也存在對于有效區(qū)域邊界存在大量黑色像素時容易出現(xiàn)偏差的缺陷。本文提出了一種新的掃描線逼近方法,實驗結果表明本文所提出的方法能更為精確地確定有效區(qū)域的位置,為下一步像素點的校正奠定了基礎。在此基礎上又提出了從2D空間進行魚眼圖像校正的新方法,實驗結果表明本文基于變量系數(shù)的雙向經(jīng)度校正算法校正效果沒有拉伸嚴重的問題,而且縱向校正效果明顯優(yōu)于傳統(tǒng)經(jīng)度校正算法[11~12]。
新的掃描線逼近算法的原理是一幅魚眼圖像的有效區(qū)域邊界都是黑色像素點的可能性非常小,所以會存在某處邊界像素點為非黑色像素點,那么我們先找到該非黑色像素點,確定一個有效區(qū)域的邊界點的位置,然后再逐步確定有效區(qū)域的圓心位置即可。本文先將圖像去除椒鹽噪聲[13~14]和二值化[15~16],以圓形軌跡掃描的方式來確定最邊界非黑色像素的點的位置,再不斷確定有效區(qū)域圓心位置。如圖1 所示,初始掃描圓以魚眼圖像寬(W)和高(H)的最大值的1 2 為半徑R,以為圓心O′,灰色部分為圓形有效區(qū)域。第一個邊界點則是掃描過程中出現(xiàn)的第一個像素值為255 的像素點。
圖1 原型軌跡線掃描示意圖
具體算法步驟如下所示:
Step 1:圖像去除椒鹽噪聲然后二值化,這里二值化閾值T為127,以魚眼圖像寬(W)和高(H)的最大值的1 2 為半徑R,以為圓心O′,作為初始掃描圓。 遍歷圓上所有像素點,判斷有無灰度值為255 的像素點,如果沒有,R=R-1,圓心不變,繼續(xù)掃描新的圓上的所有像素點直到圓上出現(xiàn)灰度值為255 的點P時R停止減小,轉到Step 2。
Step 2:此時P點固定,讓圓心O′沿■ →■■O'P方向移動,移動步長為一個像素位置,每移動一次,檢測圓上所有像素點的灰度值,當出現(xiàn)大于等于3 個灰度值為255的像素點時,O′停止移動,轉到Step 3。
Step 3:判斷像素點的分布情況:1)如果像素點分布在直線O′P的兩側,則可以鎖定有效區(qū)域位置,圓心為當前O′所在位置,半徑為O′P的長度,到此掃描結束;2)如果分布在直線O′P的一側,則代表O′偏上、偏下、偏左或者偏右(這四種情況如圖2 所示),像素點偏向哪一側,O′就向哪一側移動,O′每次移動步長為1 個像素點位置,每移動一次遍歷圓上所有像素點灰度值,當圓上僅剩一個灰度值為255 的像素點即點P時,O′停止該方向上的移動,轉到Step 2。
圖2 圓形掃描線逼近示意圖
設圖像大小為W×H(單位:像素),圓形有效區(qū)域半徑R,經(jīng)典掃描線逼近算法時間復雜度[20]為
本文掃描新逼近算法時間復雜度為
其中S為圖1 所示圖像中初始掃描圓未掃描到的四個邊角部分,因此本文掃描線逼近法的效率略高于經(jīng)典掃描線逼近法。
在這里我們以下三幅圖像進行實驗,三幅圖片的大小分別為:圖3(a)為900×675;圖3(b)為500×500;圖3(c)為850×850。分別對三幅圖像有效區(qū)域邊界進行處理,即改變其邊界黑色像素點的個數(shù),再分別用經(jīng)典掃描線逼近算法、面積統(tǒng)計算法、區(qū)域生長法和本文掃描線逼近算法提取魚眼圖像有效區(qū)域,提取效果圖如圖3所示。
圖3 四種有效區(qū)域提取算法效果對比
實驗相關數(shù)據(jù)如表1、表2、表3和表4所示。
表1 經(jīng)典掃描線逼近法實驗數(shù)據(jù)
表2 面積統(tǒng)計算法實驗數(shù)據(jù)
表3 區(qū)域生長法實驗數(shù)據(jù)
表4 本文掃描線逼近法實驗數(shù)據(jù)
由圖3、表1、表2、表3和表4數(shù)據(jù)可知,由于對魚眼圖像有效區(qū)域邊界增加黑色像素點的處理,經(jīng)典掃描線逼近法和面積統(tǒng)計算法對有效區(qū)域邊界的判斷存在明顯誤差,運算時間較短;區(qū)域生長法對有效區(qū)域邊界的判斷較為準確但運算時間較長;而本文所提出新的掃描線逼近算法對有效區(qū)域邊界的判斷最為準確且運算時間最短。實驗結果表明本文提出算法效果更好,更有實際應用價值。
在魚眼圖像的圖像畸變中,經(jīng)典經(jīng)度校正算法主要考慮徑向畸變,校正后的像素點橫坐標改變,縱坐標不變,圖像南北兩極校正效果存在明顯過度拉伸的效果。已知魚眼鏡頭徑向畸變數(shù)學模型表達式如下所示:
其中(x,y)為畸變點原始坐標,(Xcorrected,Ycorrected)為校正后的坐標,k1,k2,k3…為魚眼鏡頭徑向畸變系數(shù),r 為畸變點到中心點的距離。根據(jù)式(1)、(2)分析得知魚眼圖像在x軸和y軸方向具有相同的畸變系數(shù),且像素點的畸變量大小只與畸變點到圖像中心點的距離有關,距離越大,畸變量越大。因此本文算法在x軸和y軸方向上均做出校正。
本文提出的魚眼圖像的校正思想如圖4 所示,首先我們把有效區(qū)域分為8 個小區(qū)域,其中圓形為魚眼圖像有效區(qū)域,正方形與圓相切,在魚眼圖像中每一個像素點都在以有效區(qū)域圓心O為圓心,以像素點到圓心的距離為半徑的唯一圓上,我們先假設該像素點校正后的點在■→■OA與正方形相交的交點處,即A點校正后為A'。但我們知道,離圓心越遠的像素點畸變越大,離圓心越近的像素點幾乎無畸變,根據(jù)此特性進行進一步改進,具體計算步驟如下:
圖4
已知圓心坐標O (x0,y0) 和像素點原始坐標(x1,y1),R為有效區(qū)域半徑,r為圓心與像素點之間的距離,在這里我們設計了一個變量系數(shù),K是只與r和R比值大小有關的變量,最后(x,y)為校正后點的坐標。根據(jù)兩點式以及它的變型式(3),可求出當y 已知時x 的值和x 已知時y的值。
在這里已知圓心坐標為(x0,y0)和像素點原始坐標(x1,y1)以及r為式(3)中所示,對8 個小區(qū)域內(nèi)每個像素點進行如下操作:
區(qū)域1和8:
由于在此運算過程中,并不是所有的像素點都被賦予像素值,會出現(xiàn)黑色像素點,所以此處需要進行圖像插值運算[18~20]。對所有的黑色像素點進行遍歷,當以該像素點為中心的3×3 的范圍內(nèi),存在4 個及以上的像素點不是黑色像素時,該像素點三個通道的值取所有非黑色像素點的對應通道的均值,從而完成圖像插值運算。計算過程如下:ax,y為符合條件的黑色像素點,M為以ax,y為中心3×3 范圍內(nèi)9 個像素點構成的矩陣,矩陣K為對應系數(shù)矩陣,且取值為0 或1(矩陣K對應矩陣M中位置像素點符合條件的取1,否則取0),a'x,y為像素點ax,y經(jīng)過圖像插值操作后的結果。
通過實驗對圖(a)和圖(b)分別進行經(jīng)典經(jīng)度校正算法和本文算法校正,效果圖如圖5所示。
圖5 兩種校正算法效果圖對比
通過圖4 中三幅圖像兩種算法校正效果圖對比和表5 中數(shù)據(jù)可知,本文算法的縱向校正效果要好于經(jīng)度校正算法,不存在經(jīng)度校正算法在圖像南北兩極拉伸嚴重的問題,沒有經(jīng)度校正算法校正后的“膨脹感”,在校正速度上也有所提升。又因為清晰聚焦的圖像有著比模糊圖像更大的灰度差異,所以可以將方差函數(shù)[21]作為圖像清晰度評價函數(shù),且方差函數(shù)越大代表圖像越清晰,通過表5 中數(shù)據(jù)可知本文校正算法校正的圖像的圖像清晰度明顯好于經(jīng)度校正算法校正的圖像。因此本文校正算法效果要優(yōu)于經(jīng)度校正算法。
表5 魚眼圖像校正實驗數(shù)據(jù)
本文針對經(jīng)典掃描線逼近法在有效區(qū)域邊界存在大量黑色像素時容易出現(xiàn)偏差的問題提出了一種新的掃描線逼近法,實驗結果表明新的掃描線逼近方法能很好地克服這一缺陷,有效區(qū)域提取和運算效率都高于經(jīng)典算法、面積統(tǒng)計算法和區(qū)域生長法;又針對經(jīng)度校正算法僅做徑向校正而使校正后圖像出現(xiàn)拉伸嚴重的問題,提出了一種新的校正算法,實驗結果表明,本文算法改善了經(jīng)度校正算法對圖像南北兩極拉伸嚴重的問題,橫向校正效果與經(jīng)度校正算法相近,縱向校正效果明顯優(yōu)于經(jīng)度校正算法,校正速度也有所提升,且校正后的圖像清晰度要好于經(jīng)度校正算法校正后的圖像,具備較好的實際應用價值。