470 likes | 979 Views
數位影像處理. The Fourier Transform 第七章 傅利葉轉換. 第七章 傅利葉轉換. 7.1 導論 傅利葉轉換 (Fourier Transform / FT) 是影像處理中重要的基礎 . 傅利葉轉換是執行線性空間濾波的另一種有效方式 . 傅利葉轉換可用於擷取或處理特定影像頻率 . 傅利葉轉換執行低通與高通濾波時能得到更精確的效果. 第七章 傅利葉轉換. 7.2 背景 我們可以把一週期性函數訊號 , 看做是由不同振幅和頻率的正弦與餘弦波的組合 . 有些函數可以分解成有限個函數的總和. 第七章 傅利葉轉換. 7.2 背景
E N D
數位影像處理 The Fourier Transform 第七章 傅利葉轉換
第七章 傅利葉轉換 • 7.1導論 • 傅利葉轉換(Fourier Transform / FT)是影像處理中重要的基礎. • 傅利葉轉換是執行線性空間濾波的另一種有效方式. • 傅利葉轉換可用於擷取或處理特定影像頻率. • 傅利葉轉換執行低通與高通濾波時能得到更精確的效果.
第七章 傅利葉轉換 • 7.2 背景 • 我們可以把一週期性函數訊號,看做是由不同振幅和頻率的正弦與餘弦波的組合. • 有些函數可以分解成有限個函數的總和.
第七章 傅利葉轉換 • 7.2 背景 • 有些函數可以分解成無限個函數的總和.
第七章 傅利葉轉換 • 7.2 背景 • 若 f(x) 是一個週期為2T 的函數 f(x)的傅利葉級數展開 (Fourier series expansion)
第七章 傅利葉轉換 • 7.2 背景 • 以複數形式表示
第七章 傅利葉轉換 • 7.2 背景 • 若 f(x) 是一個非週期函數, T∞
第七章 傅利葉轉換 • 7.2 背景 • 以複數形式表示來表示方程式
第七章 傅利葉轉換 • 7.3 一維離散傅利葉轉換(DFT) • 數位影像與數位訊號皆屬於離散函數 • 數據數量皆為有限值 • 此章僅探討離散傅利葉轉換
:N × N的矩陣 第七章 傅利葉轉換 • 7.3 一維離散傅利葉轉換(DFT) • 一維DFT的定義: • 長度為N的數列 • DFT數列定義 • 矩陣乘積
第七章 傅利葉轉換 • 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便會滿足下列條件 • 旋積:假設x與y同樣是長度為N的相量,則旋積(環形旋積)為
第七章 傅利葉轉換 • 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的特性 • 旋積定理 • >> 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'); • >> 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) • 一維函數可以寫成正弦與餘弦函數的組合 • 影像為二維函數 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 • fft2 : 計算矩陣的DFT • ifft2 : 計算矩陣的反DFT • fftshift :平移轉換 • >> a=ones(8); • >> fft2(a) • DC係數為所有矩陣值的總和
+50 0 -50 AC DC 第七章 傅利葉轉換 • 7.6 Matlab 中的傅利葉轉換
第七章 傅利葉轉換 • 7.6 Matlab 中的傅利葉轉換
第七章 傅利葉轉換 • 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; • >> 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); • >> 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); • >> z=sqrt(x.^2+y.^2); • >> c=(z<15); • >> cf=fftshift(fft2(c)); • >> fftshow(cf,'log') • >> imshow(c);
m 1 n D 第七章 傅利葉轉換 • 7.8頻率域的濾波 • 理想濾波 • 低通濾波: 讓頻域下的影像矩陣資料乘上理想低通矩陣(Ideal Lowpass Matrix),此二元矩陣m定義如下
第七章 傅利葉轉換 • 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; • >> figure,fftshow(cf1,'log') • >> cfli=ifft2(cf1); • >> figure,fftshow(cfli,'abs')
D=4 D=9 D=29 第七章 傅利葉轉換 • 7.8頻率域的濾波 • >> [x,y]=meshgrid(-128:127,-128:127); • >> z=sqrt(x.^2+y.^2); • >> c = ( z < D );
D 第七章 傅利葉轉換 • 7.8頻率域的濾波 • 高通濾波: 低通濾波可讓DFT中心值保持不變, 並消除其他值,而高通濾波則相反. • >> [x,y]=meshgrid(-128:127,-128:127); • >> z=sqrt(x.^2+y.^2); • >> c = ( z >D );
D=4 D=29 D=15 第七章 傅利葉轉換 • 7.8頻率域的濾波 • 高通濾波
第七章 傅利葉轉換 • 7.8頻率域的濾波 • 理想低通濾波的缺點,是會產生不必要的波紋瑕疵. Ideal Low-pass Filter Ideal High-pass Filter
Butterworth Low-pass Filter Butterworth High-pass Filter 第七章 傅利葉轉換 • 7.8頻率域的濾波 • Butterworth 濾波:n 為濾波函數的階數 • >> [x,y]=meshgrid(-128:127,-128:127); • >> b1=1./(1+((x.^2+y.^2)/15).^2); • >> imshow(b1);
n = 1 n = 3 第七章 傅利葉轉換 • 7.8頻率域的濾波 • Butterworth 濾波
第七章 傅利葉轉換 • 7
第七章 傅利葉轉換 • 7
第七章 傅利葉轉換 • 7
第六章 影像幾何 • 5.1 導論 • 鄰域處理主要是透過像素鄰域部分,執行函數運算來修正影像. • 遮罩與函數的結合稱為濾波器(Filter). • 新灰階值是對遮罩下的灰階值進行函數運算而來,此濾波器稱為 線性濾波器. • 空間濾波的運算: • 將遮罩至於指定像素上 • 濾波器的所有元素與鄰域相對應的像素相乘 • 將上述乘法的所有結果相加
第五章 鄰域處理 • 5.6 邊緣銳利化