數字圖像處理——第四章 頻率域圖像增強

頻率域圖像增強

1. 傅里葉變換

1.1 一維傅里葉變換

單變量連續函數f(x)的傅里葉變換F(u)定義爲等式:
在這裏插入圖片描述
反變換可以定義爲:
在這裏插入圖片描述
上述這兩個式子,就反映了通過一個函數可以做變換求到其傅里葉變換,或已知傅里葉變換可以完全地求出原始函數。

單變量離散函數f(x)(其中x=0,1,2,…,m-1)的傅里葉變換由以下等式給出:
在這裏插入圖片描述
同樣,若給出F(u),能用反DFT來獲得:
在這裏插入圖片描述
F(u)的值的範圍覆蓋的域(u的值)稱爲頻率域,因爲u決定了變換的頻率成分。F(u)的M項中的每一個被稱爲變換的頻率分量。

1.2 二維傅里葉變換

二維連續函數f(x, y)的傅里葉變換F(u, v)定義爲:
在這裏插入圖片描述
由此可以得它的反變換:
在這裏插入圖片描述
對於圖像尺寸爲M*N的函數f(x, y)的二維離散傅里葉變換爲:
在這裏插入圖片描述
給出F(u, v),可通過反DFT得到f(x, y)如下:
在這裏插入圖片描述
注:u和v是頻率變量,x和y是空間或圖像變量。

2. 頻率域濾波

傅里葉變換的結果,與圖像中的強度變化模式具有一定的聯繫。 例如,變化最慢的頻率成分(u=v=0)對應一幅圖像的平均灰度級
在這裏插入圖片描述反映的是對圖像每個像素點的灰度級求和然後除以MN,得到平均灰度級。低頻對應着圖像的總體灰度級的顯示,高頻對應圖像中變化快的分量(圖像的細節)。

頻率域濾波的步驟:

  1. 用(-1)^(x+y)乘以輸入圖像來進行中心變換
  2. 由(1)計算圖像的DFT,得到F(u,v)
  3. 用濾波器函數H(u, v)乘以F(u, v)
  4. 計算(3)中結果的反DFT
  5. 得到(4)中結果的實部
  6. 用(-1)^(x+y)乘以(5)中的結果

注:在(3)中並不是矩陣和矩陣的相乘,而是點和點的相乘。最後一步中的(-1)^(x+y)用以抵消(1)中的操作。

在MATLAB中,DFT的基本步驟如下,其中f是將被濾波的圖像,g爲結果,假設濾波器函數H與填充後的圖像大小相同:

  1. 使用函數tofloat把輸入圖像轉換爲浮點圖像:[f, revertclass] = tofloat(f);
  2. 使用函數paddedsize獲得填充參數:PQ = paddedsize(size(f));
  3. 得到有填充圖像的傅里葉變換:F = fft2(f, PQ(1), PQ(2));
  4. 生成一個大小爲PQ(1)*PQ(2)的濾波器函數並且令H = ifftshift(H);
  5. 用濾波器乘以該變換:G = H .* F;
  6. 獲得G的IFFT:g = ifft2(G);
  7. 將左上部的矩形修剪爲原始大小:g = g(1 : size(f, 1), 1 : size(f, 2));
  8. 需要時,將濾波後的圖像轉換爲輸入圖像的類:g = revertclass(g);

2.1 陷波濾波器及其性質

圖像的平均值由F(0, 0)給出,若在頻率域中設置此項爲0,並進行反變換,那麼結果圖像的平均值將爲0。濾波函數可以選爲:
在這裏插入圖片描述
此濾波器可以設置F(0, 0)爲零,而保留其他傅里葉變換的頻率成分不變。處理後的圖像可以通過對H(u, v)F(u, v)進行傅里葉反變換來獲得。這一類濾波器除了原點處有凹陷外其他均爲常量。

2.2 空間域濾波與頻率域濾波之間的對應關係

空間域和頻率域之間最基本的聯繫是由卷積定理的有關結論建立的。

在空間域中將濾波的模板在圖像中逐像素移動,並對每個像素進行指定數量的計算的過程就是卷積過程。形式上,大小爲M*N的兩個函數f(x, y)和h(x, y)的離散卷積表示和定義如下:
在這裏插入圖片描述
由該式可以看出,除了前面的常數、負號以及求和的上下限之外,整個表達式與空間域的線性濾波相似。特別是負號只說明函數h關於原點鏡像對稱。這是卷積定義中自帶的。

上式是一種實現:

  1. 關於原點翻轉函數
  2. 通過改變(x,y)的值相對於一個函數移動到另外一個函數
  3. 對每一個(x,y)的位移值,計算所有m和n值成績的和。((x,y)的位移值是以整數增加的,當函數不再重疊時停止)

用F(u,v)和H(u,v)分別表示f(x,y)和h(x,y)的傅里葉變換,卷積定理說明f(x,y)*h(x,y)和F(u,v)H(u,v)組成傅里葉變換對。類似的結果是頻率域的卷積簡化爲空間域的乘法,形式上表示如下:
在這裏插入圖片描述
注意,前述的所有函數均爲相同尺寸。因此,在實際中,指定一個頻率域的濾波器,然後進行反變換以計算相同尺寸的空間域的相應濾波器,但這種方法從計算的角度來看並不能解決太大問題。如果兩個濾波器是相同尺寸,那麼通常在頻率域進行濾波計算更爲有效。 但是,在空間域更適用於更小的濾波器。這正是我們所感興趣的聯繫。濾波器在頻率域中更爲直觀,但在空間域使用更小的濾波器模板更爲明智。由此,可以在頻率域指定濾波器,做反變換,然後在空間域使用結果濾波器作爲在空間域構建更小的空間濾波模板的指導。

2.2.1 空間域濾波器與頻率域濾波器的轉換

圖像處理工具箱函數freqz2可以完成空間域濾波器和頻率域濾波器的等同,並輸出爲相應的頻率域濾波器。

函數freqz2的語法形式爲:H = freqz2(h, R, C)。其中,h是一個二維空間濾波器,H是相應的二維頻率域濾波器。R是行數,C是我們希望濾波器H所具有的的列數。若freqz2被寫成沒有輸出參量的形式,則H的絕對值在MATLAB桌面上顯示爲三維透視圖。

考慮使用600*600像素的圖像f,生成頻率域濾波器H。

>> f = imread("C:\Users\86158\Desktop\DIP3E_Original_Images_CH04\Fig0438(a)(bld_600by600).tif");
>> imshow(f);
>> f = tofloat(f);
>> F = fft2(f);
>> S = fftshift(log(1 + abs(F)));
>> figure, imshow(S, [ ]);

如圖爲f和f的傅里葉頻譜:
在這裏插入圖片描述

圖1 一幅灰度圖及其傅里葉譜

在這裏插入圖片描述
圖2 空間域濾波和頻率域濾波的比較

在空間域中使用imfilter函數生成濾波後的圖像,如圖2-1。在使用函數dftfilt得到頻率域處理得到的濾波後的圖像,如圖2-2。圖像中的灰色調是由於gs和gf的負數值引起的,通過標定命令imshow,負數值會使得圖像的平均值增大。圖2-3和2-4是將生成的sobel模板h通過使用響應的絕對值來檢測圖像的邊緣,這樣顯示計算出的圖像的絕對值會更有意義。在通過創建一幅經閾值處理的二值圖像,可使邊緣更清晰。選用乘數0.2的目的是僅顯示強度比gs和gf的最大值打20%的邊緣。

2.3 平滑的頻率域濾波器

在空間域討論過平滑的濾波器,需要抑制圖像中的細節。而在頻率域中,這些細節,如邊緣和其他尖銳變化在圖像灰度級中主要出於傅里葉變換的高頻成分,因此頻率域的平滑,可以通過衰減指定圖像傅里葉變化中高頻成分的範圍來實現。 目標是選擇一個濾波器變換函數H(u,v)以通過衰減F(u,v)的高頻成分產生G(u,v)。

2.3.1 理想低通濾波器

理想低通濾波器是最簡單的低通濾波器,它“截斷”傅里葉變換中的所有高頻成分,這些成分處在距變換原點的距離比指定距離D0要遠的多的位置。其變換函數爲:
在這裏插入圖片描述
其中,D0是指定的非負數值,D(u,v)是(u,v)點距頻率矩形原點的距離。由於變換被中心化了,如果要研究的圖像尺寸爲M*N,從點(u,v)到傅里葉變換中心的距離爲:
在這裏插入圖片描述
理想低通濾波器的模糊和振鈴特性可參考卷積定理來解釋。卷積定理指出在空間域的相應過程:g(x,y)=h(x,y)*f(x,y),其中h(x,y)是濾波器變換函數H(x,y)的反變換。濾波器h(x,y)有兩個主要特性:在原點處的一個主要成分,及中心成分周圍呈週期性的成分。中心成分主要決定模糊,週期性的成分主要決定了理想濾波器振鈴現象的特性。 中心成分的半徑和距原點每單位距離上週期的數量都與理想濾波器的截止頻率成反比。

下面對一幅500*500像素的圖像f應用一個理想低通濾波器處理結果如下:

>> Fimg=fft2(double(f));
>> Fimg=fftshift(Fimg);
>> [M,N]=size(f);
>> dist1=5; 
>> z1=zeros(M,N);  
>> for i=1:M 
    for j=i:N 
       if(sqrt(((i-M/2)^2+(j-N/2)^2))<dist1) 
           z1(i,j)=1; 
        end 
    end 
end  
>> g1=Fimg.*z1;  
>> g1=ifftshift(g1); 
>> img1=real(ifft2(g1)); 
>> imshow(img1);

在這裏插入圖片描述

圖3 理想低通濾波器處理後的圖像

由圖可以看出,圖3-2對所有的實際目的沒有意義,除非模糊的目的是爲了消除所有的細節。隨着濾波器半徑的增大,消除的功率越來越少,導致的模糊也越來越弱。可以明顯看出,在圖3-3和3-4中,有振鈴的效果存在,隨着被消除的高頻部分的數量減少,圖像的紋理變得越來越清晰,在半徑更大的處理中,濾波的截止頻率很大,雖然有振鈴存在,但是沒有那麼明顯了。

2.3.2 布特沃斯低通濾波器

n階布特沃斯低通濾波器(BLPF)的傳遞函數(且截止頻率距原點的距離爲D0)的定義如下:
在這裏插入圖片描述
布特沃斯低通濾波器變換函數在通帶與被濾除的頻率之間沒有明顯的截斷。
一個一階布特沃斯濾波器沒有振鈴,在二階中振鈴通常很微小,但階數增高時振鈴便成爲一個重要因素。相比於理想低通濾波器,布特沃斯濾波器減少了振鈴現象,高低頻率之間的過渡比較平滑。但其平滑處理的效果常不如理想低通濾波器。需要根據平滑效果和振鈴現象這種選擇布特沃斯濾波器的階數。並且其計算量大於理想低通濾波器。

2.3.3 高斯低通濾波器

二維高斯低通濾波器(GLPF)的形式由下式給出:
在這裏插入圖片描述
其中,D0是截止頻率。當D(u,v)=D0時,濾波器下降到它最大值的0.607處。高斯濾波器有一個重要的特性,那就是在高斯濾波器中是沒有振鈴的。其平滑效果常不如布特沃斯低通濾波器。

下面對一幅500*500像素的圖像f應用一個高斯低通濾波器,D0的取值分別爲5,15,30和230,處理結果如下:

>> [f, revertclass] = tofloat(f);
>> PQ = paddedsize(size(f));
>> [U, V] = dftuv(PQ(1), PQ(2));
>> D = hypot(U, V);
>> D0 = 0.05 * PQ(2);
>> F = fft2(f, PQ(1), PQ(2));
>> H = exp(-(D.^2)/(2 * (D0^2)));
>> g = dftfilt(f, H);
>> g = revertclass(g);
>> imshow(g);

在這裏插入圖片描述

圖5 高斯低通濾波處理後的圖像

對比原來的圖像,相比於理想低通濾波和布特沃斯濾波,沒有其模糊的嚴重,並且沒有振鈴的情況存在。一個圖像在頻率域是高斯函數,在空間域同樣也是高斯函數。

2.4 頻率域銳化濾波器

灰度級的邊緣和其他地方的急劇變化與高頻成分有關,圖像的銳化能夠在頻率域用高通濾波處理實現,而衰減低頻成分並不會擾亂傅里葉變換的高頻信息。

高通濾波器,可以通過對低通濾波器進行精確的反操作來得到。

2.5 頻率域的拉普拉斯算子

頻率域的拉普拉斯算子可由如下濾波器實現:
在這裏插入圖片描述
但這個公式在處理數字圖像時,還需進行比例的變換。例如對於大小爲M*N的數字圖像f(x, y),實際的頻率域拉普拉斯算子爲:
在這裏插入圖片描述
如果不做這個處理,u和v的取值範圍從0至M-1和0至N-1的,u^2 + v^2其實是一個非常大的值,這樣不適合在數字圖像中做處理的。

計算F(u,v)時需要先中心化,也就是將中心移到M/2和N/2處,則此時爲:
在這裏插入圖片描述

總結

在這一部分,僅處理有限域內的函數(圖像),傅里葉技術提供了一個有意義的和實際的研究以及實現圖像增強的主要途徑。

爲什麼要在頻率域研究圖像增強?可以利用頻率成分和圖像外表之間的對應關係。一些在空間域表述困難的增強任務,在頻率域中變得非常普通;濾波在頻率域更爲直觀,它可以解釋空間域濾波的某些性質;可以在頻率域指定濾波器,做反變換,然後在空間域使用結果濾波器作爲空間域濾波器的指導;一旦通過頻率域濾波試驗選擇了空間濾波,通常實施都在空間域進行。

頻率域濾波是基於傅里葉變換所做的處理,它對傅里葉變換後產生的反映頻率信息的圖像進行處理,主要有頻率域低通濾波器和頻率域高通濾波器。

由於圖像中的噪聲主要集中在圖像的高頻部分,爲了去除噪聲,改善圖像質量,可以採用低通濾波器來抑制高頻部分,然後再進行傅里葉反變換獲得濾波圖像,可以達到圖像平滑的目的,常用的頻率域低通濾波器有理想低通濾波器、布特沃斯低通濾波器和高斯低通濾波器。這三種濾波器中理想濾波器平滑效果最好,但是高斯濾波器中沒有振鈴現象。通過對低通濾波器的反操作,可以得到高通濾波器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章