• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于連通性檢測的圖像椒鹽噪聲濾波算法

      2020-04-07 08:58:00馬逸東周順勇
      液晶與顯示 2020年2期
      關(guān)鍵詞:椒鹽鄰域像素點

      馬逸東,周順勇

      (四川輕化工大學(xué) 自動化與信息工程學(xué)院,四川 宜賓 644005)

      1 引 言

      椒鹽噪聲作為一種常見的圖像噪聲,表現(xiàn)為圖像上隨機出現(xiàn)的或黑或白的噪聲點。常稱其中的白點為鹽噪聲,黑點為胡椒噪聲。由于胡椒噪聲與鹽噪聲往往在一張圖像上同時出現(xiàn),通常稱其為椒鹽噪聲[1]。

      由于椒鹽噪聲點的灰度值往往接近像素灰度值可取值的最小值0或最大值255,與周圍未被污染的圖像像素點灰度值有較大差異,人們往往選用中值濾波算法[2]來處理椒鹽噪聲。該算法能有效地處理椒鹽噪聲,但它不加區(qū)分地對所有像素點進(jìn)行處理也導(dǎo)致了圖像細(xì)節(jié)變得更模糊的問題。針對這一問題,在此算法的基礎(chǔ)上,學(xué)者們相繼提出極值中值算法[3]、加權(quán)中值濾波算法[4-5]、自適應(yīng)中值濾波算法[6-7]等算法。其中的自適應(yīng)中值濾波算法[8]為Hwang和 Haddad提出,原理為通過大小可變的窗口消除噪聲。Lin和Yu則在自適應(yīng)中值濾波算法基礎(chǔ)上提出了一種基于支持向量機的自適應(yīng)雙通中值濾波器[9]。這些算法在一些情況下能在處理噪聲的同時有效地保護(hù)圖像的邊緣細(xì)節(jié),但在另一些情況下效果并不特別理想。

      近年來開關(guān)中值濾波[10-11]的思想被提出。該類思想的核心便是:在對圖像進(jìn)行處理之前,首先判斷哪些像素點是正常信號點,哪些信號點是噪聲點,然后僅對噪聲點進(jìn)行處理。該思路因為避免了對正常信號點的處理,可以最大程度地防止邊緣模糊。Jayaraj 和 Ebenezer 提出了一種新的開關(guān)中值濾波算法[12],它基于一維拉普拉斯算子得到的四個卷積的平均絕對值實現(xiàn)對噪聲嚴(yán)重影響的圖像進(jìn)行恢復(fù)。鐘靈等提出了一種超快速矢量中值濾波方法[13]。該方法在濾波窗口中,用距離均值點最近的向量代替矢量中值濾波方法的輸出,降低傳統(tǒng)矢量中值濾波方法的計算量。這些開關(guān)中值濾波算法主要利用噪聲點與周圍像素點的灰度值差異信息進(jìn)行噪聲檢測,但這種方法仍然會混淆噪聲點與一部分圖像邊緣,導(dǎo)致最終的圖像處理效果不夠理想。針對該問題,本文提出一種新的濾波算法。該算法首先對信號點進(jìn)行連通性判斷,然后對用中值濾波算法處理識別為噪聲的點。

      2 基于連通性判據(jù)的濾波算法原理

      2.1 鄰域灰度值中值判斷準(zhǔn)則

      受椒鹽噪聲污染的像素點有灰度值在像素灰度最大取值255或最小取值0附近的特性。但簡單地將圖像中所有灰度值在255或0附近的像素點都作為噪聲點處理則會破壞圖像的正常邊緣,影響處理最終得到的效果。為了減少計算量,本文先將不符合椒鹽噪聲特性的像素點從疑似噪聲點中排除,判斷公式如下:

      (1)

      其中:g1ij為經(jīng)過一級檢測的 0,1 矩陣,fij為表示原始圖像的像素灰度值, 為預(yù)先設(shè)定的閾值(此處取值為10)。

      考慮到正常像素點與其周圍的像素點灰度值相近,而椒鹽噪聲點與其鄰接的正常像素點之間存在較大差異,將像素點灰度值與其鄰域灰度值中位數(shù)相減并取其絕對值,當(dāng)該像素點為噪聲點時,可以得到一個較大的值。所以本文將用該方法所求得的差值的絕對值作為第二級檢測的判斷依據(jù),當(dāng)該數(shù)值大于50時,將像素點視為疑似噪聲點。判斷公式如下:

      ,

      (2)

      其中:g2ij為經(jīng)過二級檢測的 0,1 矩陣,fij為表示原始圖像的像素灰度值,mij為像素點鄰域灰度值中位數(shù)。

      2.2 連通性判斷準(zhǔn)則

      傳統(tǒng)的中值濾波算法原理是用像素點鄰域灰度值的中值替代當(dāng)前像素點,而本文則利用鄰域灰度值中值輔助判斷一個點是否是噪聲點。該方法的缺點是只能區(qū)分出部分種類的邊緣像素點與噪聲點,在面對一些較尖銳或細(xì)長的邊緣區(qū)域中的像素點的情況,因為這些像素點多面鄰接其他區(qū)域的像素點,鄰域灰度值中位數(shù)會與其灰度值有較大差值,該判斷準(zhǔn)則會失效。

      針對這一問題,本文在第二級檢測的基礎(chǔ)上考察像素點與周圍區(qū)域的連通性。圖像中尖銳邊緣與椒鹽噪聲的一個最主要區(qū)別便是尖銳邊緣中的像素點與圖像中的一個大塊區(qū)域相連通,而椒鹽噪聲則表現(xiàn)為圖像上的一個孤立的像素點或小黑(白)斑(當(dāng)噪聲密度較高時,噪聲點恰好聚集在一起形成)。

      然后本文將利用種子填充法考察疑似噪聲點是否是圖像連通區(qū)域的一部分。核心思路是將疑似噪聲點作為種子,然后將與其相鄰且像素值相近的像素點合并到一個像素點集合中,當(dāng)集合中元素數(shù)量大于設(shè)定閾值時,判斷該像素點為非噪聲點。如果沒有像素滿足條件加入種子點所在區(qū)域或只有有限的幾個點加入的情況,本文視所考察的像素點為噪聲點。

      最終用像素點鄰域灰度值的中值替代識別為噪聲的像素點。

      3 算法的具體步驟及其改進(jìn)

      3.1 算法的具體步驟

      按如下步驟遍歷圖像中所有像素:

      Step 1:歷遍圖像所有像素點,判斷像素點灰度值是否在 [0,δ]或[255-δ,255]范圍中(δ=10)。如果在,將該像素點添加到列表list 1中。

      Step 2:歷遍列表list 1中所有像素點,計算每個像素點的灰度值與其八鄰域灰度值中位數(shù)的差值的絕對值。當(dāng)絕對值大于50時,將該像素點添加到列表list 2中。

      Step 3:用種子填充法考察疑似噪聲點,即按以下處理方法依次處理list 2(疑似噪聲點)中的像素點。

      在每次運行算法前,設(shè)一變量i初始值為1,算法運行時種子點所在區(qū)域每增加一個像素點,i的值加1,同時將增加的像素點傳入list 3(相似點),當(dāng)i值大于j(j=5)時停止種子填充算法,記錄所有像素點算法終止時的i值,同時將list 3中的點從list 2中刪除(避免重復(fù)判斷,節(jié)省程序運算時間)。當(dāng)i值小于等于j時,將list 3中所有像素點傳入列表list 4(噪聲點)。

      Step 4:歷遍列表list 4中所有像素點,用其鄰域灰度值中位數(shù)替代當(dāng)前像素點灰度值。當(dāng)噪聲密度低于0.5時,使用8鄰域;高于0.5時,擴大為24鄰域。

      按該方法可以有效地去除孤立噪聲點和像素數(shù)量小于5的黑(白)斑。Step 3中的變量i作用是控制生長區(qū)域的大小。畢竟所考察的像素點是正常像素點的情況下,本文不必找出其連通的整個區(qū)域。

      3.2 算法的改進(jìn)

      為了驗證本文算法的有效性,本文選擇圖像處理鄰域的經(jīng)典圖像lena(大小為512×512),給圖像分別加入0.1,0.2,0.3的椒鹽噪聲運行程序,然后觀察結(jié)果。

      處理結(jié)果如圖1所示,其中的(a)、(b)分別是對加入0.2、0.3的椒鹽噪聲(圖中r表示加入圖像的椒鹽噪聲密度)的圖像處理結(jié)果??梢杂^察到圖 1 (a)中有少量噪聲并未得到有效處理。

      經(jīng)過實驗,可以判斷這些噪聲點未得到有效處理的原因有兩種:(1)在檢測環(huán)節(jié)受其他噪聲的影響未能被有效識別;(2)去噪過程用于替代當(dāng)前像素點的灰度中值也是一個噪聲點,導(dǎo)致無法實現(xiàn)去噪效果。針對這兩種情況,本文只要在處理得到的圖像的基礎(chǔ)上再運行幾遍算法即可去除這些噪聲。

      圖1 算法處理加噪圖像效果圖

      觀察圖 1(b)可以發(fā)現(xiàn),除了圖1(a)中出現(xiàn)的那種孤立噪聲點的情況,還出現(xiàn)了一些更明顯的黑(白)斑。這是因為本文限制了Step 3中的i值小于5,使得數(shù)目大于5的噪聲點聚集起來的情況得不到有效處理。但考慮這種像素數(shù)量大于5的黑(白)斑相對周圍區(qū)域孤立的特點并未發(fā)生改變。本文可以通過修改j值(i可取到的最大值)的方式來消除這些噪聲性。

      為了避免一直要手動調(diào)整j值(i可取到的最大值),本文可以通過循環(huán)使j值自增,依次消除從小到大的噪聲區(qū)域。在Step 4之后,增加Step 5:j=j+5。

      對圖像循環(huán)執(zhí)行Step 1~Step 5,直到滿足條件:執(zhí)行Step 4時發(fā)現(xiàn)list 3為空列表(即執(zhí)行Step 3時發(fā)現(xiàn)圖像中沒有噪聲點),此時停止循環(huán),輸出處理好的圖像。

      按上述方法改寫算法。用改過的算法重新處理加過噪聲的圖像。觀察被處理圖像,可以發(fā)現(xiàn)經(jīng)過改進(jìn)的算法有效地解決了本文之前遇到的問題。這里只展現(xiàn)之前效果最差的圖1(b)用改寫算法重新處理的效果,處理結(jié)果見圖1(c)。

      4 仿真結(jié)果及分析

      圖2 不同算法處理加噪圖像效果圖

      本文算法為在OpenCV圖像處理函數(shù)庫基礎(chǔ)上,使用python 3.7編寫而成?,F(xiàn)為了驗證算法效果,選擇512×512大小的lena作為測試圖像,在操作系統(tǒng)為Windows10,CPU為Intel(R) Core(TM) I7-8750H CPU@2.20 GHz,內(nèi)存為8 GB的計算機上進(jìn)行仿真實驗。

      為了直觀評價算法效果,現(xiàn)分別用標(biāo)準(zhǔn)中值濾波(Standard median filter, SFM)算法、極值中值濾波(Extreme median filter, EM)算法[14]、自適應(yīng)中值濾波(Improved adaptive median filter, IAM)算法[15]、基于直方圖的加權(quán)均值濾波算法(Histogram weighted filter, HWF)[16]和本文的連通檢測中值濾波算法(Connectivity detection median filter,CDM)分別處理加入0.1,0.3,0.5,0.7,0.9椒鹽噪聲的圖像,可以發(fā)現(xiàn)本文算法處理結(jié)果的視覺效果優(yōu)于其他算法。

      圖2中分別展示了對比算法中表現(xiàn)最好的改進(jìn)自適應(yīng)中值濾波算法、基于直方圖的加權(quán)均值濾波(HWF)算法與本文算法處理加入了0.1,0.5,0.9密度的椒鹽噪聲圖像的效果。

      圖2中(a)、(b)、(c) 為改進(jìn)自適應(yīng)中值濾波(IAM)算法,(d)、(e)、(f)為基于直方圖的加權(quán)均值濾波(HWF)算法,(h)、(i)、(j)為本文提出的算法分別處理加入了0.1,0.5,0.9密度的椒鹽噪聲(r表示加入圖像的椒鹽噪聲密度)的圖片的效果圖。

      可以發(fā)現(xiàn)本文算法在不同噪聲密度條件下表現(xiàn)均好于其他算法。特別是在0.9的噪聲密度的情況下,其他算法不是未能有效地去除噪聲就是得到的圖像嚴(yán)重模糊。相比而言,本文算法在去除噪聲的同時很好地保存了圖像的細(xì)節(jié)。

      峰值信噪比(Peak signal-to-noise ratio,PSNR)是一種衡量圖像質(zhì)量的客觀評價標(biāo)準(zhǔn)[17-20]。一般求得的PSNR 越大,表示濾波效果越好。其計算公式如下:

      ,

      (3)

      本文分別計算經(jīng)不同算法處理后圖像的PSNR值,并與經(jīng)本文算法處理后得到的圖像的PSNR值進(jìn)行比較。

      圖3 不同噪聲密度下各算法的PSNR值

      觀察圖3,可以發(fā)現(xiàn)整個噪聲率范圍內(nèi)本文的連通檢測濾波算法效果都要優(yōu)于其他算法。在0.1~0.7噪聲密度情況下,本文算法的PSNR值分別為42,36,33,32 dB,始終比用于其他4個算法中表現(xiàn)最好的HWF算法高3 dB;而在0.9的噪聲密度下,PSNR值為30 dB,較HWF算法高5.5 dB。

      表1 各算法運行時間

      從表1可知,在0.1~0.9的噪聲密度下,本文算法處理噪聲所需時間都要長于其他的4種算法,且所需時間隨著噪聲密度的增加而增加。這是因為在高密度噪聲的情況下,本文算法需要增加循環(huán)次數(shù)以消除噪聲點聚集在一起形成的更大的黑(白)斑塊。但即使是在0.9的噪聲密度下,算法的運行時間也只是85.54 ms,仍在可接受的范圍內(nèi)。

      5 結(jié) 論

      本文分析了椒鹽噪聲的特性,針對椒鹽噪聲相對孤立的特點,提出了一種基于像素連通性判斷的椒鹽噪聲檢測算法。針對在低密度噪聲情況下遇到的椒鹽噪聲點無法除盡問題和高噪聲密度下椒鹽噪聲點聚集為椒鹽噪聲塊問題,分別通過循環(huán)處理和修改種子填充算法的截止條件對算法進(jìn)行優(yōu)化、改進(jìn),最終獲得了良好的濾波效果。該算法避免了不加區(qū)分地處理所有像素點,在去除噪聲的同時有效地保護(hù)了圖像的邊緣細(xì)節(jié)。實驗結(jié)果表明,本文提出的算法可以有效處理密度在0~0.9范圍的椒鹽噪聲,且在0.9的噪聲密度下算法可保證30 dB的峰值信噪比。滿足有效去除不同密度范圍內(nèi)的椒鹽噪聲的同時保護(hù)圖像細(xì)節(jié)的要求。

      猜你喜歡
      椒鹽鄰域像素點
      稀疏圖平方圖的染色數(shù)上界
      基于鄰域競賽的多目標(biāo)優(yōu)化算法
      基于canvas的前端數(shù)據(jù)加密
      基于逐像素點深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
      關(guān)于-型鄰域空間
      基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
      椒鹽芝麻燒餅
      基于噪聲檢測的高密椒鹽噪聲自適應(yīng)濾波算法
      基于時序擴展的鄰域保持嵌入算法及其在故障檢測中的應(yīng)用
      素菜之美:椒鹽素食
      余姚市| 庄浪县| 伽师县| 凤冈县| 广丰县| 民和| 辉县市| 嵊州市| 志丹县| 阿坝| 廉江市| 鹿泉市| 开化县| 光泽县| 嵊州市| 永定县| 璧山县| 故城县| 独山县| 萨嘎县| 满洲里市| 孟村| 宣城市| 安平县| 开阳县| 五大连池市| 宁津县| 宜君县| 饶平县| 交城县| 报价| 丰镇市| 昌邑市| 阿克苏市| 九龙坡区| 石嘴山市| 霸州市| 西城区| 碌曲县| 当雄县| 兴海县|