吳 翰,江巨浪
數(shù)字圖像在獲取和傳輸過程中受隨機(jī)信號(hào)的干擾會(huì)產(chǎn)生噪聲,噪聲顆粒改變了圖像像素點(diǎn)原有的灰度值,降低了圖像質(zhì)量。高斯噪聲是一種隨機(jī)噪聲,存在于圖像的每一點(diǎn),且每一點(diǎn)噪聲的概率密度函數(shù)服從高斯分布。均值濾波是一種濾除高斯噪聲的傳統(tǒng)算法[1],其濾波模板大小的選取直接影響去噪效果,模板選擇過小對(duì)噪聲平滑力度不夠;模板選擇過大則會(huì)導(dǎo)致圖像邊緣細(xì)節(jié)模糊。文獻(xiàn)[2]提出一種基于灰度差值的均值濾波方法,通過比較鄰域像素與中心像素灰度值之差的絕對(duì)值和設(shè)定閾值的大小來確定該鄰域像素的權(quán)值,該方法能較好地保留圖像的邊緣信息。文獻(xiàn)[3]提出一種邊界保持類樹過濾器,該算法使得所有圖像像素通過連接樹賦予濾波器平滑高對(duì)比度與小尺度細(xì)節(jié)信息,同時(shí)保留主要圖像結(jié)構(gòu)。文獻(xiàn)[4]在非線性擴(kuò)散濾波方法的基礎(chǔ)上,提出一種新的擴(kuò)散函數(shù),可根據(jù)圖像的噪聲程度在每次迭代過程中實(shí)時(shí)調(diào)整擴(kuò)散參數(shù),減少了迭代次數(shù)。上述方法均對(duì)圖像全局進(jìn)行去噪處理,會(huì)導(dǎo)致灰度變化劇烈的邊緣區(qū)域產(chǎn)生模糊現(xiàn)象,文獻(xiàn)[5]提出了基于邊緣檢測(cè)的圖像去噪算法,先用小波邊緣檢測(cè)算法檢測(cè)出圖像邊緣部分的小波系數(shù),再對(duì)圖像的邊緣和非邊緣區(qū)域設(shè)置不同的閾值系數(shù)進(jìn)行去噪處理。該算法雖然在去除噪聲的同時(shí)具有一定的邊界保持效果,但對(duì)圖像的邊緣和非邊緣區(qū)域均采用單一去噪方法,邊緣特征的保護(hù)較為有限。本文提出一種新的邊緣檢測(cè)去噪算法,對(duì)檢測(cè)出來的圖像邊緣和非邊緣部分分別用不同的去噪方法濾除噪聲,噪聲平滑和邊界保持效果比傳統(tǒng)去噪算法有了進(jìn)一步提高。
本文先用Canny算子檢測(cè)圖像邊緣,然后對(duì)邊緣區(qū)域的像素用K近鄰平滑濾波器去噪,再對(duì)非邊緣區(qū)域像素用改進(jìn)的加權(quán)均值濾波器去噪?;谶吘墮z測(cè)的圖像濾波算法步驟如下:
(1)用Canny算子對(duì)含噪圖像進(jìn)行邊緣檢測(cè),采用二值圖像膨脹算法對(duì)邊緣區(qū)域進(jìn)行膨脹處理;
(2)對(duì)含噪圖像邊緣區(qū)域像素進(jìn)行K近鄰平滑濾波;
(3)對(duì)含噪圖像中的非邊緣區(qū)域像素進(jìn)行改進(jìn)的加權(quán)均值濾波處理。
圖像邊緣檢測(cè)包括兩個(gè)基本內(nèi)容:
(1)用邊緣算子提取出反映灰度變化的邊緣點(diǎn)集;
(2)在邊緣點(diǎn)集合中剔除某些邊界點(diǎn)或填補(bǔ)邊界間斷點(diǎn),并將這些邊緣連接成完整的線。
用Canny[6]算子對(duì)含噪圖像進(jìn)行邊緣檢測(cè),與其他檢測(cè)算子比較,其對(duì)邊緣的敏感性有所提高,對(duì)噪聲的抑制效果也更好。為適當(dāng)擴(kuò)展邊緣區(qū)域,在Canny算子邊緣檢測(cè)的基礎(chǔ)上,對(duì)二值圖像進(jìn)行一次膨脹處理。圖1(a)為輸入圖像;圖1(b)是用Canny算子進(jìn)行邊緣檢測(cè)得到的二值圖像,可以看出檢測(cè)出的邊緣線條較細(xì);圖1(c)是對(duì)圖1(b)進(jìn)行一次膨脹得到的二值圖像,邊界區(qū)域范圍向外擴(kuò)張。
圖1 圖像的邊緣檢測(cè)與膨脹處理
在對(duì)邊緣輪廓細(xì)節(jié)較為豐富的圖像去噪處理時(shí),常采用如維納濾波器、灰度最小方差濾波器、K近鄰平滑濾波器等具有邊界保持功能的濾波器。其中,K近鄰平滑濾波是在待處理像素鄰域內(nèi)找出灰度值與其最接近的K個(gè)像素,并將這K個(gè)像素的灰度值均值替代原像素值。算法具體步驟如下。
(1)以待處理像素點(diǎn)(i,j)為中心,構(gòu)造一個(gè)N×N的模板(N為奇數(shù),通常取3,5,7);
(2)在模板內(nèi)找出K個(gè)灰度值與像素點(diǎn)(i,j)最接近的像素,這K個(gè)像素不包含(i,j)本身(一般當(dāng)N=3時(shí),K=5;當(dāng)N=5時(shí),K=9;當(dāng)N=7時(shí),K=25);
(3)取K個(gè)像素的灰度值均值,替換像素點(diǎn)(i,j)處的灰度值;
(4)遍歷圖像中所有待處理像素點(diǎn),重復(fù)上述操作。
對(duì)于待處理的邊緣像素,選取灰度值與之相近的K個(gè)鄰點(diǎn)有利于將屬于邊緣同一側(cè)的像素選出來,對(duì)邊緣同一側(cè)像素的平滑濾波可以較好地避免邊界模糊。
本文提出一種改進(jìn)的加權(quán)均值濾波方法,用于圖像非邊緣區(qū)域的去噪。該算法計(jì)算鄰域像素與模板內(nèi)像素灰度值均值之差的絕對(duì)值,與設(shè)置的閾值比較,若此絕對(duì)值大于閾值,則設(shè)置該鄰域像素的權(quán)值為差值的絕對(duì)值,否則該鄰域像素的權(quán)值為閾值。實(shí)驗(yàn)表明,該方法用于抑制高斯噪聲能夠獲得更高的峰值信噪比。
該類型街道白天時(shí)段交通壓力持續(xù)較大,未存在明顯的高峰和非高峰,06:00—21:00交通運(yùn)行狀況一直處于中度偏嚴(yán)重?fù)矶碌臓顟B(tài),交通需求持續(xù)較大,僅在中午12點(diǎn)左右交通狀況微弱改善,總體上看晚高峰的擁堵情況較早高峰更差. 具有這一特征的街道多為全天交通發(fā)生和吸引強(qiáng)度均較大的區(qū)域,如東華門街道內(nèi)有天安門廣場(chǎng)、故宮博物院等歷史遺址,還包括很多政府機(jī)構(gòu)、醫(yī)院、學(xué)校以及商業(yè)街,白天會(huì)持續(xù)發(fā)生和吸引大量的交通流,全天交通需求量居高不下,全天擁堵時(shí)間較長(zhǎng).
首先選取輸入圖像I中的一個(gè)像素點(diǎn)(i,j),以其為中心創(chuàng)建N×N的濾波模板W,剔除模板內(nèi)的極大和極小像素值,剩余像素集構(gòu)成集合H,
將集合H內(nèi)元素排列成數(shù)組,計(jì)算H包含所有像素的灰度值均值M=mean(H[I(i,j)]),令k表示H內(nèi)各像素點(diǎn)對(duì)應(yīng)下標(biāo),S為H內(nèi)像素個(gè)數(shù),求出集合H內(nèi)每一像素點(diǎn)灰度值與所有像素的灰度值均值之差的絕對(duì)值Dk,
將所有Dk的平均值設(shè)為閾值T:
則H內(nèi)各個(gè)像素點(diǎn)對(duì)應(yīng)權(quán)值為
(4)式在計(jì)算各點(diǎn)閾值時(shí),采用了閾值最優(yōu)化方法。將H內(nèi)某點(diǎn)灰度值與其內(nèi)均值差的絕對(duì)值Dk和閾值T進(jìn)行比較,若Dk>T,則該點(diǎn)的權(quán)值由Dk決定;若Dk<T,則由T決定。將H內(nèi)各像素點(diǎn)灰度值與對(duì)應(yīng)權(quán)值分別相乘,加權(quán)求和的結(jié)果作為濾波模板中心點(diǎn)的輸出灰度值,
(5)式充分考慮了不同灰度值像素對(duì)中心點(diǎn)像素灰度值計(jì)算的貢獻(xiàn)。與中心點(diǎn)像素灰度值接近的像素參與加權(quán)求和的權(quán)重大,與中心點(diǎn)像素灰度值相差較多的像素參與加權(quán)求和的權(quán)重小,這樣在平滑去噪的同時(shí)保留了局部區(qū)域灰度特性。
圖2表明,均值濾波雖然較好地平滑了高斯噪聲,但圖像中的邊緣細(xì)節(jié)產(chǎn)生了一定程度模糊。加權(quán)均值濾波算法在去除噪聲的同時(shí)對(duì)于邊界區(qū)域輪廓起到了一定保護(hù)作用,并且對(duì)于灰度變化緩慢的非邊緣像素可以獲得較高的峰值信噪比。K近鄰濾波有很好的邊界保持能力,但其用于非邊緣區(qū)域難以取得理想的平滑效果,導(dǎo)致峰值信噪比降低。文獻(xiàn)[5]方法處理的圖像邊緣保持效果得到改善,但不足之處在于鋸齒效應(yīng)與噪聲殘留。本文算法結(jié)合加權(quán)均值濾波和K近鄰濾波的各自優(yōu)勢(shì),圖像噪聲得到有效抑制的同時(shí),很好地保留了邊緣細(xì)節(jié)。再對(duì)Lena圖像分別添加標(biāo)準(zhǔn)差σ=5,σ=10,σ=15的高斯噪聲,上述幾種去噪算法的圖像峰值信噪比見表1,數(shù)據(jù)表明本文算法的峰值信噪比略高于其他同類算法。從算法效率看,本文算法運(yùn)行時(shí)間約為280 ms,算法效率介于K近鄰算法與加權(quán)均值濾波算法之間,能夠滿足實(shí)時(shí)處理要求。
圖2 各種濾波方法結(jié)果比較(σ=10)
表1 不同去噪算法的輸出圖像峰值信噪比
本文提出了一種基于邊緣檢測(cè)的高斯噪聲濾波算法。先用Canny算子檢測(cè)出圖像的邊緣區(qū)域,對(duì)邊緣區(qū)域進(jìn)行K近鄰均值濾波,對(duì)非邊緣區(qū)域采用加權(quán)均值濾波處理。該算法不僅較好地平滑了圖像中的高斯噪聲,而且更好地保持了圖像的邊緣細(xì)節(jié),輸出圖像的峰值信噪比與同類型算法相比具有一定的優(yōu)勢(shì)。
參考文獻(xiàn):
[1]岡薩雷斯.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2011:203-204.
[2]王朋,呂衛(wèi)文,吳懿平,等.基于灰度差值的均值濾波算法及其在AXI中的應(yīng)用[J].電子工藝技術(shù),2012,33(3):132-135,151.
[3]BAO L,SONG Y,YANG Q,et al.Tree filtering:efficient structure-preserving smoothing with a minimum spanning tree[J].IEEE Transactions on Image Processing,2014,23(2):555-569.
[4]羅莎,韋大歡.一種改進(jìn)的基于各向異性擴(kuò)散方程的圖像去噪方法[J].內(nèi)蒙古師范大學(xué)學(xué)報(bào)(自然科學(xué)漢文版),2016,45(5):657-659.
[5]柳薇,馬爭(zhēng)鳴.基于邊緣檢測(cè)的圖象小波閾值去噪方法[J].中國(guó)圖象圖形學(xué)報(bào),2002,7(8):788-793.
[6]韓濤,祝躍飛.基于Canny邊緣檢測(cè)的自適應(yīng)空域隱寫術(shù)[J].電子與信息學(xué)報(bào),2015,37(5):1266-1270.