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