【數字圖像處理】傅里葉變換在圖像處理中的應用

1.理解二維傅里葉變換的定義    

1.1二維傅里葉變換    

1.2二維離散傅里葉變換    

1.3用FFT計算二維離散傅里葉變換    

1.3圖像傅里葉變換的物理意義    

2.二維傅里葉變換有哪些性質?    

2.1二維離散傅里葉變換的性質    

2.2二維離散傅里葉變換圖像性質    

3.任給一幅圖像,對其進行二維傅里葉變換和逆變換    

4.附錄    9

4.1matlab代碼    

4.2參考文獻    
目錄

1.理解二維傅里葉變換的定義

1.1二維傅里葉變換

二維Fourier變換:算法

逆變換: ide

1.2二維離散傅里葉變換

一個圖像尺寸爲M×N的 函數的離散傅里葉變換由如下等式給出: 函數


其中 和。
其中變量
uv用於肯定它們的頻率,頻域系統是由所張成的座標系,其中和用作(頻率)變量。空間域是由f(x,y)所張成的座標系。能夠獲得頻譜系統在頻譜圖四角處沿和方向的頻譜份量均爲0。 ui

離散傅里葉逆變換由下式給出: spa

令R和I分別表示F的實部和需部,則傅里葉頻譜,相位角,功率譜(幅度)定義以下: 3d


1.3用FFT計算二維離散傅里葉變換

二維離散傅里葉變換的定義爲: code

    

二維離散傅里葉變換可經過兩次一維離散傅里葉變換來實現: orm

1)做一維N點DFT(對每一個m作一次,共M次) blog

2)做M點的DFT(對每一個k作一次,共N次) 數學


這兩次離散傅里葉變換均可以用快速算法求得,若M和N都是2的冪,則可以使用基二FFT算法,所須要乘法次數爲                                    

 

而直接計算二維離散傅里葉變換所需的乘法次數爲(M+N)MN,當M和N比較大時用用FFT運算,可節約不少運算量。

1.3圖像傅里葉變換的物理意義

圖像的頻率是表徵圖像中灰度變化劇烈程度的指標,是灰度在平面空間上的梯度。如:大面積的沙漠在圖像中是一片灰度變化緩慢的區域,對應的頻率值很低;而對於地表屬性變換劇烈的邊緣區域在圖像中是一片灰度變化劇烈的區域,對應的頻率值較高。傅里葉變換在實際中有很是明顯的物理意義,設f是一個能量有限的模擬信號,則其傅里葉變換就表示f的頻譜。從純粹的數學意義上看,傅里葉變換是將一個函數轉換爲一系列周期函數來處理的。從物理效果看,傅里葉變換是將圖像從空間域轉換到頻率域,其逆變換是將圖像從頻率域轉換到空間域。換句話說,傅里葉變換的物理意義是將圖像的灰度分佈函數變換爲圖像的頻率分佈函數。

傅里葉逆變換是將圖像的頻率分佈函數變換爲灰度分佈函數傅里葉變換之前,圖像(未壓縮的位圖)是由對在連續空間(現實空間)上的採樣獲得一系列點的集合,一般用一個二維矩陣表示空間上各點,記爲z=f(x,y)。又因空間是三維的,圖像是二維的,所以空間中物體在另外一個維度上的關係就必須由梯度來表示,這樣咱們才能經過觀察圖像得知物體在三維空間中的對應關係。

傅里葉頻譜圖上咱們看到的明暗不一的亮點,其意義是指圖像上某一點與鄰域點差別的強弱,即梯度的大小,也即該點的頻率的大小(能夠這麼理解,圖像中的低頻部分指低梯度的點,高頻部分相反)。通常來說,梯度大則該點的亮度強,不然該點亮度弱。這樣經過觀察傅里葉變換後的頻譜圖,也叫功率圖,咱們就能夠直觀地看出圖像的能量分佈:若是頻譜圖中暗的點數更多,那麼實際圖像是比較柔和的(由於各點與鄰域差別都不大,梯度相對較小);反之,若是頻譜圖中亮的點數多,那麼實際圖像必定是尖銳的、邊界分明且邊界兩邊像素差別較大的。

對頻譜移頻到原點之後,能夠看出圖像的頻率分佈是以原點爲圓心,對稱分佈的。將頻譜移頻到圓心除了能夠清晰地看出圖像頻率分佈之外,還有一個好處,它能夠分離出有周期性規律的干擾信號,好比正弦干擾。一幅頻譜圖若是帶有正弦干擾,移頻到原點上就能夠看出,除了中心之外還存在以另外一點爲中心、對稱分佈的亮點集合,這個集合就是干擾噪音產生的。這時能夠很直觀的經過在該位置放置帶阻濾波器消除干擾。

2.二維傅里葉變換有哪些性質?

2.1二維離散傅里葉變換的性質

1)分離性

二維離散傅里葉變換具備分離性

  

分離性質的主要優勢是可藉助一系列一維傅里葉變換分兩步求得。第1步,沿着的每一行取變換,將其結果乘以1/N,取得二維函數;第2步,沿着的每一列取變換,再將結果乘以1/N,就獲得了。這種方法是先行後列。若是採用先列後行的順序,其結果相同。

如圖:


 

 

 

 

 

對逆變換f(x,y)也能夠相似地分兩步進行。

2)平移性

傅里葉變換和逆變換對的位移性質是指:

 

由乘以指數項並取其乘積的傅立葉變換,使頻率平面的原點位移至。一樣地,以指數項乘以並取其反變換,將空間域平面的原點位移至當N/2時,指數項爲:

即爲

這樣,用(x+y)乘以就能夠將的傅里葉變換原點移動到N*N頻率方陣的中心,這樣才能看到整個譜圖。另外,對的平移不影響其傅里葉變換的幅值。

此外,與連續二維傅里葉變換同樣,二維離散傅里葉變換也具備週期性共軛對稱性、線性、旋轉性、相關定理、卷積定理、比例性等性質。這些性質在分析及處理圖像時有重要意義。

2.2二維離散傅里葉變換圖像性質

一、圖像通過二維傅里葉變換後,其變換系數矩陣具備以下性質:若變換矩陣原點設在中心,其頻譜能量集中分佈在變換系數短陣的中心附近(圖中陰影區)。若所用的二維傅里葉變換矩陣的原點設在左上角,那麼圖像信號能量將集中在係數矩陣的四個角上。這是由二維傅里葉變換自己性質決定的。同時也代表一股圖像能量集中低頻區域。

二、圖像灰度變化緩慢的區域,對應它變換後的低頻份量部分;圖像灰度呈階躍變化的區域,對應變換後的高頻份量部分。除顆粒噪音外,圖像細節的邊緣、輪廓處都是灰度變化突變區域,它們都具備變換後的高頻份量特徵。

 

3.任給一幅圖像,對其進行二維傅里葉變換和逆變換

原圖

二維傅里葉變換

逆變換

頻譜圖

原圖

加入高斯躁聲

加入椒鹽躁聲

 

對高斯躁聲中值濾波

對椒鹽躁聲中值濾波

 

對高斯躁聲算術均值濾波

對椒鹽躁聲算術均值濾波

 

4.附錄

4.1matlab代碼

1)程序一

 1 [i,lcmp]=imread('F:/123.jpg');%=======讀取圖像 顯示圖像
 2 
 3 subplot(2,2,1),imshow(i,lcmp);
 4 
 5 title('original');
 6 
 7 ii=im2double(i); %=====將圖像矩陣類型轉換爲double(圖像計算不少是不能用整型的),沒有這個會報錯!! ,若是不用這個就必須轉化爲灰度圖!
 8 
 9 i1 = fft2(ii); %======傅里葉變換
10 
11 i2 =fftshift(i1); %======將變換的頻率圖像四角移動到中心(原來良的部分在四角 如今移動中心,便於後面的處理)
12 
13 i3=log(abs(i2)); %=====顯示中心低頻部分,加對數是爲了更好的顯示
14 
15 subplot(2,2,2),imshow(i3,[]);
16 
17 title('Fourier');
18 
19 map=colormap(lcmp); %===取色譜
20 
21 imwrite(i3,map,'f:/ffttank.bmp'); %===將上面i3輸入到ffttank文件中
22 
23 i5 = real(ifft2(ifftshift(i2))); %===頻域的圖反變換到空域 並取實部
24 
25 i6 = im2uint8(mat2gray(i5)); %===取其灰度圖
26 
27 imwrite(i6,map,'f:/tank2.bmp','bmp'); %===利用灰度圖和原來取得顏色模板 還原圖像
28 
29 subplot(2,2,3),imshow(i6);
30 
31 title('anti-Fourier');
32 
33 i7=rgb2gray(i);
34 
35 i8=fft2(i7);%===對灰色圖才能歸一化。由於那是2維矩陣,彩色圖是3維矩陣,須要轉化爲2維灰圖
36 
37 m=fftshift(i8); %直流份量移到頻譜中心
38 
39 %RR=real(m); %取傅立葉變換的實部
40 
41 %II=imag(m); %取傅立葉變換的虛部
42 
43 A=abs(m);%計算頻譜幅值
44 
45 %A=sqrt(RR.^2+II.^2);
46 
47 A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %歸一化
48 
49 subplot(2,2,4),imshow(A); %顯示原圖像
50 
51 colorbar; %顯示圖像的顏色條
52 
53 title('FFT spectrum'); %圖像命名
54 
55  

 

 

2)程序二

 1 m=imread('F:/123.jpg');
 2 
 3 M=rgb2gray(m); %==濾波函數都是對二維灰度圖,Tif可直接濾波
 4 
 5 subplot(3,3,1)
 6 
 7 imshow(M);%顯示原始圖像
 8 
 9 title('original')
10 
11 P1=imnoise(M,'gaussian',0.02); %加入高斯躁聲
12 
13 subplot(3,3,2)
14 
15 imshow(P1) %加入高斯躁聲後顯示圖像
16 
17 title('gaussian noise');
18 
19 P2=imnoise(M,'salt & pepper',0.02); %=加入椒鹽躁聲
20 
21 subplot(3,3,3)
22 
23 imshow(P2) %%加入椒鹽躁聲後顯示圖像
24 
25 title('salt & pepper noise');
26 
27 g=medfilt2(P1); %對高斯躁聲中值濾波
28 
29 subplot(3,3,5)
30 
31 imshow(g)
32 
33 title('medfilter gaussian')
34 
35 h=medfilt2(P2); %對椒鹽躁聲中值濾波
36 
37 subplot(3,3,6)
38 
39 imshow(h)
40 
41 title('medfilter salt & pepper noise')
42 
43 l=[1 1 1 %對高斯躁聲算術均值濾波
44 
45 1 1 1
46 
47 1 1 1];
48 
49 l=l/9;
50 
51 k=conv2(P1,l);
52 
53 subplot(3,3,8)
54 
55 imshow(k,[])
56 
57 title('arithmeticfilter gaussian')
58 
59 %對椒鹽躁聲算術均值濾波
60 
61 d=conv2(P2,l);
62 
63 subplot(3,3,9)
64 
65 imshow(d,[])
66 
67 title('arithmeticfilter salt & pepper noise')
68 
69  

 

4.2參考文獻

[1]孟凡文, 吳祿慎.基於FTP的二維傅里葉變換的研究.激光與紅外. 第38卷第9期 2008年9月       

[2] 董健,鄧國輝,李金武. 基於二維傅里葉變換實現圖像變換的研究. 福建電腦. 2015年第 9期

相關文章
相關標籤/搜索