Download presentation
Presentation is loading. Please wait.
1
The Fourier Transform 第七章 傅利葉轉換
數位影像處理 The Fourier Transform 第七章 傅利葉轉換
2
第七章 傅利葉轉換 7.1導論 傅利葉轉換(Fourier Transform / FT)是影像處理中重要的基礎.
第七章 傅利葉轉換 7.1導論 傅利葉轉換(Fourier Transform / FT)是影像處理中重要的基礎. 傅利葉轉換是執行線性空間濾波的另一種有效方式. 傅利葉轉換可用於擷取或處理特定影像頻率. 傅利葉轉換執行低通與高通濾波時能得到更精確的效果.
3
第七章 傅利葉轉換 7.2 背景 我們可以把一週期性函數訊號,看做是由不同振幅和頻率的正弦與餘弦波的組合.
第七章 傅利葉轉換 7.2 背景 我們可以把一週期性函數訊號,看做是由不同振幅和頻率的正弦與餘弦波的組合. 有些函數可以分解成有限個函數的總和.
4
第七章 傅利葉轉換 7.2 背景 有些函數可以分解成無限個函數的總和.
5
第七章 傅利葉轉換 7.2 背景 若 f(x) 是一個週期為2T 的函數
第七章 傅利葉轉換 7.2 背景 若 f(x) 是一個週期為2T 的函數 f(x) 的傅利葉級數展開 (Fourier series expansion)
6
第七章 傅利葉轉換 7.2 背景 以複數形式表示
7
第七章 傅利葉轉換 7.2 背景 若 f(x) 是一個非週期函數, T∞
8
第七章 傅利葉轉換 7.2 背景 以複數形式表示來表示方程式
9
第七章 傅利葉轉換 7.3 一維離散傅利葉轉換(DFT) 數位影像與數位訊號皆屬於離散函數 數據數量皆為有限值 此章僅探討離散傅利葉轉換
10
第七章 傅利葉轉換 7.3 一維離散傅利葉轉換(DFT) 一維DFT的定義: 長度為N的數列 DFT數列定義 矩陣乘積 :N × N 的矩陣
11
第七章 傅利葉轉換 7.4 一維DFT的特性 線性:假設f 與 g 是相同長度的向量, p 與 q 為純量,令 h = pf + qg ,若F G 與 H分別為f g與 h的DFT,則 H = pF + qG 平移:將向量的 x 的元素乘上(-1)n >> x=[ ]; >> x1=(-1).^[0:7].*x x1 = [ ] >> x=fft(x') >> x1=fft(x1')
12
第七章 傅利葉轉換 7.4 一維DFT的特性 共軛對稱:若x為實數,長度為N,其DFT X便會滿足下列條件
第七章 傅利葉轉換 7.4 一維DFT的特性 共軛對稱:若x為實數,長度為N,其DFT X便會滿足下列條件 旋積:假設x與y同樣是長度為N的相量,則旋積(環形旋積)為
13
第七章 傅利葉轉換 7.4 一維DFT的特性 旋積:Matlab conv function >> a=[1 2 3 4];
第七章 傅利葉轉換 7.4 一維DFT的特性 旋積:Matlab conv function >> a=[ ]; >> b=[ ]; >> conv(a,b) ans = >> cconv(a,b) ans =
14
第七章 傅利葉轉換 7.4 一維DFT的特性 旋積定理
第七章 傅利葉轉換 7.4 一維DFT的特性 旋積定理 >> fft(cconv(a,b)')=fft(a’).*fft(b’); ans = 1.0e+002 *2.6000 i 0.0400 i
15
第七章 傅利葉轉換 7.4 一維DFT的特性 旋積定理 >> fft(a').*fft(b');
第七章 傅利葉轉換 7.4 一維DFT的特性 旋積定理 >> fft(a').*fft(b'); >> ifft(ans)' ans = 快速傅利葉轉換(Fast Fourier Transform) FFT其中的一種方式是以遞迴方式進行運算,將原始向量分為兩半,各自進行FFT運算. 長度為2n的向量,直接計算需要(2n)2=22n次乘法,但使用FFT僅需n2n次,節省了2n/n倍的計算.
16
第七章 傅利葉轉換 二維DFT 假設原始矩陣值為 f(x,y) ,x 與 y 為索引,則輸出矩陣為 F(u,v)
第七章 傅利葉轉換 二維DFT 假設原始矩陣值為 f(x,y) ,x 與 y 為索引,則輸出矩陣為 F(u,v) 一維函數可以寫成正弦與餘弦函數的組合 影像為二維函數 f(x,y),可以將其看成波紋函數的組合
17
第七章 傅利葉轉換 二維DFT
18
第七章 傅利葉轉換 二維DFT 假設有一影像大小為M×N, x索引範圍是從0~M-1, y索引範圍是從0~N-1
19
第七章 傅利葉轉換 二維DFT 相似性:正轉跟反轉相似,指數項的負號. DFT當成空間濾波器使用: 分離性
20
第七章 傅利葉轉換 二維DFT 分離性
21
第七章 傅利葉轉換 二維DFT 線性 雜訊影像 d 旋積定理
22
第七章 傅利葉轉換 二維DFT DC係數 DFT的F(0,0)值稱為DC係數 平移 共軛對稱
23
第七章 傅利葉轉換
24
第七章 傅利葉轉換 平移
25
第七章 傅利葉轉換 7.6 Matlab 中的傅利葉轉換 fft : 計算向量的DFT ifft : 計算向量的反DFT
第七章 傅利葉轉換 7.6 Matlab 中的傅利葉轉換 fft : 計算向量的DFT ifft : 計算向量的反DFT fft2 : 計算矩陣的DFT ifft2 : 計算矩陣的反DFT fftshift :平移轉換 >> a=ones(8); >> fft2(a) DC係數為所有矩陣值的總和
26
第七章 傅利葉轉換 7.6 Matlab 中的傅利葉轉換 -50 +50 AC DC
27
第七章 傅利葉轉換 7.6 Matlab 中的傅利葉轉換
28
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 >> a=[zeros(256,128) ones(256,128)];
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 >> a=[zeros(256,128) ones(256,128)]; >> imshow(im2uint8(a/max(a(:)))); >> af=fftshift(fft2(a)); >> af1=log(1+abs(af)); >> imshow(af1/af1(129,129)); >> imshow(mat2gray(log(1+abs(af))))
29
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 >> a(78:178,78:178)=1;
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 >> a(78:178,78:178)=1; >> imshow(a); >> af=fftshift(fft2(a)); >> figure,fftshow(af,'abs') >> figure,fftshow(af,'log') log abs
30
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 >> [x,y]=meshgrid(1:256,1:256);
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 >> [x,y]=meshgrid(1:256,1:256); >> b=(x+y<329)&(x+y>182)&(x-y>-67)&(x-y<73); >> imshow(b); >> bf=fftshift(fft2(b)); >> figure,fftshow(bf)
31
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 meshgrid: Generate F and G matrices for three-dimensional plots >> [F,G] = meshgrid(1:3,1:3)
32
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 >> [x,y]=meshgrid(-128:127,-128:127);
第七章 傅利葉轉換 7.7 影像之傅利葉轉換 >> [x,y]=meshgrid(-128:127,-128:127); >> z=sqrt(x.^2+y.^2); >> c=(z<15); >> cf=fftshift(fft2(c)); >> fftshow(cf,'log') >> imshow(c);
33
第七章 傅利葉轉換 7.8頻率域的濾波 理想濾波 低通濾波: 讓頻域下的影像矩陣資料乘上理想低通矩陣(Ideal Lowpass Matrix),此二元矩陣m定義如下 D 1 n m
34
第七章 傅利葉轉換 7.8頻率域的濾波 >> cm=imread('cameraman.tif');
第七章 傅利葉轉換 7.8頻率域的濾波 >> cm=imread('cameraman.tif'); >> cf=fftshift(fft2(double(cm))); >> figure,fftshow(cf,'log') >> figure;imshow(cm); >> [x,y]=meshgrid(-128:127,-128:127); >> z=sqrt(x.^2+y.^2); >> c=(z<15); >> imshow(c) D =14
35
第七章 傅利葉轉換 7.8頻率域的濾波 >> cf1=cf.*c;
第七章 傅利葉轉換 7.8頻率域的濾波 >> cf1=cf.*c; >> figure,fftshow(cf1,'log') >> cfli=ifft2(cf1); >> figure,fftshow(cfli,'abs')
36
第七章 傅利葉轉換 7.8頻率域的濾波 >> [x,y]=meshgrid(-128:127,-128:127);
第七章 傅利葉轉換 7.8頻率域的濾波 >> [x,y]=meshgrid(-128:127,-128:127); >> z=sqrt(x.^2+y.^2); >> c = ( z < D ); D=9 D=4 D=29
37
第七章 傅利葉轉換 7.8頻率域的濾波 高通濾波: 低通濾波可讓DFT中心值保持不變, 並消除其他值,而高通濾波則相反.
第七章 傅利葉轉換 7.8頻率域的濾波 高通濾波: 低通濾波可讓DFT中心值保持不變, 並消除其他值,而高通濾波則相反. >> [x,y]=meshgrid(-128:127,-128:127); >> z=sqrt(x.^2+y.^2); >> c = ( z > D ); D
38
第七章 傅利葉轉換 7.8頻率域的濾波 高通濾波 D=4 D=29 D=15
39
第七章 傅利葉轉換 7.8頻率域的濾波 理想低通濾波的缺點,是會產生不必要的波紋瑕疵. Ideal Low-pass Filter
第七章 傅利葉轉換 7.8頻率域的濾波 理想低通濾波的缺點,是會產生不必要的波紋瑕疵. Ideal Low-pass Filter Ideal High-pass Filter
40
第七章 傅利葉轉換 7.8頻率域的濾波 Butterworth 濾波:n 為濾波函數的階數
第七章 傅利葉轉換 7.8頻率域的濾波 Butterworth 濾波:n 為濾波函數的階數 >> [x,y]=meshgrid(-128:127,-128:127); >> b1=1./(1+((x.^2+y.^2)/15).^2); >> imshow(b1); Butterworth Low-pass Filter Butterworth High-pass Filter
41
第七章 傅利葉轉換 7.8頻率域的濾波 Butterworth 濾波 n = 1 n = 3
42
第七章 傅利葉轉換 7
43
第七章 傅利葉轉換 7
44
第七章 傅利葉轉換 7
45
第六章 影像幾何 5.1 導論 鄰域處理主要是透過像素鄰域部分,執行函數運算來修正影像. 遮罩與函數的結合稱為濾波器(Filter).
第六章 影像幾何 5.1 導論 鄰域處理主要是透過像素鄰域部分,執行函數運算來修正影像. 遮罩與函數的結合稱為濾波器(Filter). 新灰階值是對遮罩下的灰階值進行函數運算而來,此濾波器稱為 線性濾波器. 空間濾波的運算: 將遮罩至於指定像素上 濾波器的所有元素與鄰域相對應的像素相乘 將上述乘法的所有結果相加
46
第五章 鄰域處理 5.6 邊緣銳利化
Similar presentations