摘 要:高斯模糊通常的算法是使用高斯函數(shù)生成模糊模板,再對圖像做卷積運算,得到模糊圖像的效果,可作為一種圖像濾波器應(yīng)用于計算機視覺算法中的預處理。為降低高斯模板和卷積運算量,本文對高斯函數(shù)使用降低維數(shù)的方法進行改進,并在圖像處理函數(shù)中驗證了改進效果。
關(guān)鍵詞:卷積運算;高斯模糊;圖像處理
中圖分類號:TP391.41
在Adobe Photoshop、GIMP和Paint.NET等圖像處理軟件中提供“模糊”(blur)濾鏡的處理效果使圖像模糊?!案咚鼓:保℅aussian Blur)是其中一種常用的模糊算法,它能減小圖像噪聲以及降低細節(jié)層次。在計算機人臉識別算法(SIFT)中對圖形的預處理階段是通過高斯模糊以獲得在不同尺寸空間下的圖像關(guān)鍵點[1]。
1 高斯模糊算法
所有圖像上的點都表示為一個像素的數(shù)值矩陣。所謂“模糊”,可以理解成每一個像素都取周邊像素的平均值。在數(shù)值上,這是一種“平滑化”。在圖形上,就相當于產(chǎn)生“模糊”效果,“中間點”失去細節(jié)。由于圖像的連續(xù)性,越靠近的點關(guān)系越密切,越遠離的點關(guān)系越疏遠。
正態(tài)分布在圖形上是一種鐘形曲線,越接近中心取值越大,越遠離中心取值越小。將正態(tài)分布(又名“高斯分布”)用于產(chǎn)生圖像模糊效果。計算平均值的時候,我們只需要將“中心點”作為原點,其他點按照其在正態(tài)曲線上的位置,分配權(quán)重,就可以得到一個加權(quán)平均值。高斯模糊就是使圖像點經(jīng)過加權(quán)平均處理與正太分布的卷積運算得到的圖像模糊。[2]
N維空間正態(tài)分布方程為:
正態(tài)分布方程中定義標準差為σ,σ的取值影響圖像模糊程度。模糊半徑定義為r,r是指模板中元素與幾何中心的距離。上面的正態(tài)分布是一維的,圖像都是二維的,所以我們需要二維的正態(tài)分布。把二維正太模板大小定義為m*n,用高斯公式對應(yīng)的模板上的(x,y)元素:
該公式在二維空間的生成的曲面是中心對稱的峰形。把非零分布的像素矩陣與源圖像像素產(chǎn)生卷積變換。源圖中心像素值對應(yīng)最大的正太分布值,配比最大的權(quán)重。這樣得到的模糊效果能較好保持邊緣效果,優(yōu)于其它均衡模糊算法。在計算高斯函數(shù)的離散近似實際應(yīng)用中,取3σ為邊界作用距離進行計算,在3σ距離之外的像素忽略。[3]
在圖像處理程序中,由高斯公式可知,對高斯模糊矩陣的計算使用(6σ+1)×(6σ+1)計算矩陣是高斯模糊的關(guān)鍵。因此,高斯模糊矩陣的大小可由σ的值確定。然后用公式(1-2)計算,并通過歸一化保證高斯矩陣的值在[0,1]之間即可以得到高斯模糊矩陣。
在函數(shù)中,取σ=0.840890即可得到上例中7*7的模板,在高斯核kernel中存儲該模板數(shù)據(jù)。7*7的高斯模板與源圖像做卷積運算時,在圖像邊緣產(chǎn)生半徑為3的空白邊際。在低精確的圖像處理情況下,對源圖像像素填充,或去掉邊緣。
2 改進的高斯模糊函數(shù)
在上述的二維高斯模糊函數(shù)Gaussian_S2D達到了高斯模糊圖像的目的,但是存在計算量會隨模板的關(guān)系引起計算量增加的問題。因為圖像邊緣的缺失,也就是缺失像素增加多,σ增大,則額外的邊緣處理會增加計算量。并且σ變大時,高斯模板與卷積運算量將大幅度提高。根據(jù)高斯函數(shù)的可分離性,可進行對二維高斯模糊函數(shù)改進。
以下通過偽代碼簡述改進后的處理函數(shù):
該函數(shù)將相同的矩陣同時水平和垂直方向上使用,可根據(jù)實際需要取不同矩陣進行計算。
3 實驗和結(jié)果
在vs2012以及opencv2.2下,將經(jīng)改進的降維高斯模糊函數(shù)GauS_S與內(nèi)函數(shù)GaussianBlur運行并對比運行時間。為對比以上2個函數(shù)運行時間,使用函數(shù)為Release版本的GetTickCount()計算。
在系統(tǒng)中運行某兩次運行結(jié)果取均值得到以下表1中的數(shù)據(jù)。Debug版本的GaussianTemplateSmooth比Gaosi_S2D有更長的運行時間。
如上表1所示,對Gaussian_S2D的改進函數(shù)GauS_S,當σ越大時,提速效果越明顯,這種速度的改進在Debug模式下尤為明顯。
參考文獻:
[1]丁怡心,廖勇毅.高斯模糊算法優(yōu)化及實現(xiàn)[J].現(xiàn)代計算機,2010,8.
[2]厲丹等.高斯模糊噪聲圖像的圖像復原算法的改進[J].計算機應(yīng)用與軟件,2010,10.
[3]盧燕飛.利用圖像邊緣變化特性尋找模糊處理痕跡[J].信號處理,2011,5.
[4]百度詞條:高斯模糊矩陣示例表URL.http://baike.baidu.com/.
[5]劉軍.淺析算法設(shè)計與算法時間復雜度[J].電腦知識與技術(shù),2008,5.
作者簡介:吳憲君(1981-),男,廣東茂名人,講師,碩士學位,研究方向:數(shù)據(jù)庫,圖像處理。
作者單位:廣東石油化工學院實驗教學部,廣東茂名 525000