空域濾波
空域濾波是指對圖像中每個像素為中心的鄰域進行預定義操作,然後用得到的結果代替鄰域中心像素點的像素值。濾波器的中心通路輸入圖像中的每個像素,就生成了濾波後的圖像。
空域濾波器可分為線性空域濾波器和非線性空域濾波器。如果在圖像像素上執行的是線性操作,則該濾波器稱為線性空間濾波器,否則,濾波器就稱為非線性空間濾波器。
1、線性空域濾波
我們關注奇數尺寸m×n(假設m=2a+1且n=2b+1)的濾波器,因為濾波器的中心落在整數值上。
一般來說,使用大小為m×n的濾波器對大小為M×N的圖像進行線性空間濾波,可由下式表示:

其中,w(s,t)是濾波器系數,g(x,y)是濾波器系數與由該濾波器包圍的圖像像素的乘積之和。x和y是可變的,以便w中的每個像素可通路f中的每個像素。
使用3×3的濾波器模闆線性空間濾波的機理:
空間相關與卷積:相關是濾波器模闆移過圖像并計算每個位置乘積之和的處理。卷積的機理類似,但濾波器首先要旋轉180°。是以,如果濾波器模闆是對稱的,相關和卷積将得到相同的結果。
相關:
卷積:
對相關運算讨論可得:
1、相關是濾波器位移的函數。即相關的第一個值對應于濾波器的零位移,第二個值對應于一個機關位移,等等。
2、濾波器w與離散機關沖激(包含全部0和單個1的函數)相關,得到的結果是w的一個拷貝,但旋轉了180°。
對于大小為m×n的濾波器,我們在圖像的頂部和底部至少填充m-1行0,在左側和右側填充n-1列0,得到相關結果的過程如下:
使用相關或卷積執行空間濾波是優先選擇的方法。
在MATLAB中,進行圖像的濾波時,可以采用函數imfilter()進行模闆和圖像的鄰域相卷積的操作,還可以用函數conv2()進行二維卷積操作,還可以通過函數filter2()進行二維線性數字濾波,函數fspecial()産生濾波器模闆。
常用的線性空域濾波器----均值濾波器
均值濾波器實際上是一種低通濾波器,這種處理結果降低了圖像灰階的“尖銳”變化,然而,由于圖像邊緣也是由圖像灰階尖銳變化帶來的特性,是以均值濾波處理還是存在着不希望有的邊緣模糊的負面效應。
(1)算術均值濾波器
算術均值濾波器平滑一幅圖像中的局部變化,雖然模糊了結果,但降低了噪聲。
(2)幾何均值濾波器
幾何均值濾波器實作的平滑可與算術均值濾波器相比,但這種進行中丢失的圖像細節更少。
(3)諧波均值濾波器
諧波均值濾波器對于鹽粒噪聲效果較好,但不适用于胡椒噪聲。它善于處理像高斯噪聲那樣的其他噪聲。
(4)逆諧波均值濾波器
其中Q稱為濾波器的階數。這種濾波器适合減少或在實際中消除椒鹽噪聲的影響。當Q值為正時,該濾波器消除胡椒噪聲;當Q值為負時,該濾波器消除鹽粒噪聲,但它不能同時消除這兩種噪聲。
當Q=0時,逆諧波均值濾波器簡化為算術均值濾波器;而當Q=﹣1時,則為諧波均值濾波器。
總之,算術均值濾波器和幾何均值濾波器(尤其是後者)更适合于處理高斯或均勻随機噪聲。逆諧波均值濾波器更适合于處理脈沖噪聲,但它還有一個缺點,即必須知道噪聲是暗噪聲還是亮噪聲,以便于為Q選擇正确的符号。如果Q符号選擇錯了,則可能會引起災難性的後果。
2、非線性空域濾波
非線性空域濾波主要包括統計排序濾波和自适應濾波等。
統計排序濾波器
在MATLAB中,采用函數ordfilt2()進行排序濾波。函數ordfilt2()進行濾波時,可以通過模闆來選擇排序後的某個值作為輸出。當函數ordfilt2()的調用形式為J=ordfilt2(I,median(1:m*n),[m,n])時,相當于中值濾波。
(1)中值濾波器
最著名的統計排序濾波器是中值濾波器,中值濾波是一種保護邊緣的非線性圖像平滑方法,非常适合去除圖像中的椒鹽噪聲,在存在單極或雙極脈沖噪聲的情況下,中值濾波器尤其有效,平滑效果優于均值濾波,在抑制噪聲的同時還能夠保持圖像的邊緣清晰。中值濾波的主要功能是使擁有不同灰階的點看起來更接近于它的相鄰點。
在MATLAB中,采用函數medfilt2()進行圖像的二維中值濾波。
(2)最大值和最小值濾波器
最大值濾波器對于發現圖像中的最亮點非常有用。因為胡椒噪聲的值非常低,在這種最大值選擇的過程中,可以降低它。
最小值濾波器對于發現圖像中的最暗點非常有用。同樣,作為最小值操作的結果,它可以降低鹽粒噪聲。
(3)中點濾波器
中點濾波器簡單的計算濾波器包圍區域中最大值和最小值之間的中點,即
這種濾波器結合了統計排序和求平均。它對于随機分布噪聲工作得最好,如高斯噪聲或均勻噪聲。
(4)修正的阿爾法均值濾波器
自适應濾波器
(1)自适應局部降低噪聲濾波器
(2)自适應中值濾波器
銳化空間濾波器
對于模糊的圖像,通過銳化濾波器能夠補償圖像的輪廓,讓圖像變得清晰。銳化濾波器常用拉普拉斯算子。拉普拉斯算子比較适合用于改善因為光線的漫反射造成的圖像模糊。
拉普拉斯算子是各向同性微分算子,即旋轉不變的。
一個二維圖像函數f(x,y)的拉普拉斯算子定義為:
以離散形式來描述:
對應的濾波模闆為:
拉普拉斯是一種微分算子,故其強調的是圖像灰階中的突變,并不強調灰階級緩慢變化的區域。是以将原圖像和拉普拉斯圖像疊加在一起,可以複原背景特性并保持拉普拉斯銳化處理的效果。是以,我們使用拉普拉斯對圖像銳化的基本方法可以表示為:
其中,f(x,y)和g(x,y)分别是輸入圖像和銳化後的圖像。如果所使用的拉普拉斯濾波器模闆中心系數為負,則常數C=-1;反之,常數C=1.
MATLAB實作
示例:
I=imread('rice.png');
I=im2double(I);
h=[0,1,0;1,-4,1;0,1,0];
J=conv2(I,h,'same');
K=I-J;
subplot(1,2,1); imshow(I); title('原始圖像');
subplot(1,2,2); imshow(K); title('圖像的銳化濾波');
運作結果: