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