一、算法介紹
????????中值濾波器是非線性濾波器的一個例子,它在保留圖像特征方面非常有效。 但是,濾波器的窗口大小直接影響中值濾波器的性能。 較小的窗口保留了特征,但會導致噪聲抑制的減少。 在較大窗口的情況下,噪聲抑制很高,但圖像內容保留有限。 隨著對標準中值濾波器的研究,提出了許多濾波器,如加權中值濾波器和許多其他高級濾波器。
1、自適應中值濾波器
????????在噪聲密度不是很大的情況下(根據經驗,噪聲的出現的概率小于0.2),使用中值濾波的效果不錯。但是當噪聲出現的概率比較高時,原來的中值濾波算法就不是很有效了。只有增大濾波器窗口尺寸,盡管會使圖像變得模糊。
????????使用自適應中值濾波器的目的就是,根據預設好的條件,動態地改變中值濾波器的窗口尺寸,以同時兼顧去噪聲作用和保護細節的效果。
自適應中值濾波器分為以下兩個過程,A和B:
A:
- A1 =Gmed - Gmin
- A2 = Gmed - Gmax
- 如果A1>0 且 A2<0,則跳轉到B
- 否則,增大窗口的尺寸
- 如果增大后的尺寸≤Smax,則重復A
- 否則,直接輸出Gmed
B:
- B1 = Gxy - Gmin
- B2 = Gxy - Gmax
- 如果B1>0 且 B2<0,則輸出Gxy
- 否則輸出Gmed
?????? 在自適應中值濾波算法中,A步驟實質是判斷當前區域的中值點是否是噪聲點,通常來說是滿足Gmin<Gmed<Gmax這個條件的,此時中值點不是噪聲點,跳轉到B;考慮一些特殊情況,如果Gmed=Gmin或者Gmed=Gmax,則認為是噪聲點,應該擴大窗口尺寸,在一個更大的范圍內尋找一個合適的非噪聲點,隨后再跳轉到B,否則輸出的中值點是噪聲點;
????????接下來考慮跳轉到B之后的情況:判斷中心點的像素值是否是噪聲點,原理同上。如果不是噪聲點,我們可以保留當前像素點的灰度值;如果是噪聲點,則使用中值替代原始灰度值,濾去噪聲。
這里考慮在A步驟中,若不滿足條件,是否增大窗口尺寸。可以嘗試刪去噪聲點后重新選取中值,減小運算量。如果刪去噪聲點這一操作過多,說明該窗口內噪聲密度較大,此時再考慮擴大窗口。
2、加權中值濾波器
?????? 標準中值濾波窗口內各點對輸出的作用是相同的,如果希望強調中間點或中間點附近點的作用,采用加權中值濾波。其基本原理是改變窗口中變量的個數,然后對擴張的數據集求中值:
????????特殊地,如果取值W5=2K+1,其他權重均為1,則稱為中心加權中值濾波(CWM),其中K為任意非負整數。顯然,當K=0時,CWMF就是標準中值濾波;當2K+1>=L*L時(L為濾波器窗口大小),CWM不起作用。具有較大中心權重的 CWM 濾波器在細節保留方面表現更好,但在噪聲抑制方面比具有較小中心權重的濾波器更差。
3、三態中值濾波器
?????? 三態中值濾波器(Tri-state median filter,TSM)主要分為兩步:噪聲檢測,三態決策。噪聲檢測是通過脈沖檢測器實現的,它從 SM (standard median filter)和 CWM 濾波器獲取輸出并將它們與原點或中心像素值進行比較,以做出三態決策。?
????????其中,三態決策方式為:
?????? 閾值 T 會影響脈沖檢測的性能。
????????TSM 濾波的一個的優點是提供了一種自適應決策,可以簡單地根據這些濾波器的輸出來檢測局部噪聲。在抑制噪聲和保留細節間的得到了較好的平衡。