郊野公園回收箱成覓食「寶庫」羅傑明:市民帶走垃圾最佳 漁護署 …pdf.wenweipo.com/2015/10/26/a17-1026.pdf · 計新的回收箱,在箱口設旋轉葉,並在旁加裝轉動旋轉
第七章 傅利葉轉換 7.1 前言
description
Transcript of 第七章 傅利葉轉換 7.1 前言
1
第七章 傅利葉轉換7.1 前言
• 傅利葉轉換是影像處理中重要的基礎,不但可以做到用其他方式無法得到的結果,也比其他方式來得有效率。
• 傅利葉轉換還是執行線性空間濾波的另一種有效方式。
• 傅利葉轉換還可以用於擷取或處理特定影像頻率,在執行低通和高通濾波時能得到更精確的結果。
2
7.2 背景
3
圖 7.2
• 週期性函數可以寫成不同振幅和頻率的正弦波和餘弦波之總和。
4
7.2 背景
• 傅利葉級數( Fourier series )
其中
• f 這就是 (x) 的傅利葉級數展開( Fourier series expansion ),也可用複數形式表示。
5
7.2 背景
• 若函數為非週期性,則可設 T → ∞ 類似結果,則:
• 傅利葉轉換對組( Fourier transform pair )。
6
7.3 一維離散傅利葉轉換
7
7.3 一維離散傅利葉轉換
• 7.3.1 一維 DFT 的定義
此定義也可以矩陣乘積來表示:
其中 F 是一個 N×N 的矩陣,定義如下:
8
7.3 一維離散傅利葉轉換
當 N 給定後,我們可以定義:
範例 7.3.1 假設 f = [1, 2, 3, 4] ,因此 N = 4 。然後
9
7.3 一維離散傅利葉轉換
10
7.3 一維離散傅利葉轉換
• 反 DFT
– 若比較方程式 (7.3) 與方程式 (7.2) ,就會發現其實只有三點不同:1. 沒有縮放係數 1/N 。2. 指數函數中的符號改為正號。3. 總和索引變數為 u ,而非 x 。
11
7.3 一維離散傅利葉轉換
12
7.3 一維離散傅利葉轉換
13
7.4 一維離散傅利葉轉換的特性
• 線性– 由 DFT 矩陣乘積的定義便可推論出此特性。– 假設 f 和 g 是相同長度的兩個向量, p和 q 為純量,令 h = pf + qg
– 若 F、 G 及 H 分別為 f、 g 與 h 的 DFT ,則:
• 平移– 將向量 x的各個元素 xn 乘以 (−1)n ,也就是每隔兩個元素改變其正負號。
– 假設這樣產生的向量為 x‘, x’的 DFT X‘若將左右兩邊互換,就和 x的 DFT x相等。
14
7.4 一維離散傅利葉轉換的特性
• 例子
15
7.4 一維離散傅利葉轉換的特性
注意: X的前四個元素是 X1的末四個元素,反之亦然。
16
• 縮放– 公式中 k 為純量,且 F = f 。– 此性質意味如果你將一個函數在 x 方向上放大,則其頻譜在 x 方向上便會縮小。
– 強度也會改變。
7.4 一維離散傅利葉轉換的特性
• 共軛對稱• 旋積
17
7.4 一維離散傅利葉轉換的特性
• 快速傅利葉轉換
18
7.5 二維離散傅利葉轉換
• 在二維下, DFT 的輸入為矩陣,輸出為同樣大小的另一個矩陣。
19
7.5.1 二維傅利葉轉換的一些特性
• 相似性• DFT 當成空間濾波器使用• 分離性
20
7.5.1 二維傅利葉轉換的一些特性
• 線性• 旋積定理
– 要使用空間濾波器 S 對影像 M 進行旋積計算1. 將 S 補零至與 M 同大小,補零的結果記為 S' 。2. 計算 M 和 S' 的 DFT ,得到 (M) 和 (S') 。3. 將兩個轉換的元素一個個相乘:4. 將結果帶入反轉轉換:
– 簡單地說,旋積定理可寫成: 或
21
7.5.1 二維傅利葉轉換的一些特性
• DC 係數
• 平移DC 係數
DC 係數
22
7.5.1 二維傅利葉轉換的一些特性
• 共軛對稱
• 顯示 DFT 轉換的結果
fft,計算向量的 DFT 。ifft,計算向量的反 DFT 。fft2,計算矩陣的 DFT 。ifft2,計算矩陣的反 DFT 。fftshift,如圖 7.7 所示,平移轉換。
23
7.6 MATLAB中的傅利葉轉換
• 範例 7.6.1
DC 係數正是所有矩陣值的總和。
24
7.6 MATLAB中的傅利葉轉換
• 範例 7.6.2
25
7.6 MATLAB中的傅利葉轉換
• 範例 7.6.3
26
7.7 影像之傅利葉轉換
27
圖 7.10
28
圖 7.11
29
圖 7.12
30
圖 7.13
• 範例 7.7.2
31
圖 7.14
• 範例 7.7.3
32
圖 7.15
• 範例 7.7.4
33
7.7 影像之傅利葉轉換
34
7.8 頻率域的濾波
• 7.8.1 理想濾波– 低通濾波
35
圖 7.16
36
圖 7.17
D = 15
37
圖 7.18
D = 5 D = 30
38
7.8 頻率域的濾波
– 高通濾波
39
圖 7.19
40
圖 7.20
41
7.8.2 Butterworth 濾波
– 理想濾波器直接切除傅利葉轉換距中心某個距離外的部分。
– 這種截頻點的使用十分方便,但缺點是結果會產生不必要的瑕疵(波紋)。
– 要避免這種現象,可使用截頻點較不銳利的圓形當作濾波矩陣。
42
圖 7.21
43
圖 7.22 & 7.23
44
圖 7.24
45
圖 7.25
46
圖 7.26
>> cfbli = ifft2(cfbl);>> figure, fftshow(cfbli, ’abs’)
>> bl = lbutter(c,15,1);>> cfbl = cf.*bl;>> figure, fftshow(cfbl, ’log’);
47
圖 7.27
48
7.8.3 高斯濾波
• 較寬的高斯函數、即較大的標準差,其最大值會比較小。
49
圖 7.28
50
圖 7.29
51
7.9 同態濾波
i (x, y) 為照明 (illumination), r(x, y) 為反射 (reflectance)
52
7.9 同態濾波
53
圖 7.32
function res=homfilt(im,cutoff,order,lowgain,highgain) % HOMFILT(IMAGE,FILTER) applies homomorphic filtering % to the image IMAGE% with the given parameters u=im2uint8(im/256); u(find(u==0))=1;l=log(double(u));ft=fftshift(fft2(l));f=hb_butter(im,cutoff,order,lowgain,highgain);b=f.*ft;ib=abs(ifft2(b));res=exp(ib);
54
圖 7.33
>>i=imread(‘newborn.tif’);
>>r=[1:256]’*ones(1,256);
>>x=double(i).*(0.5+0.4*sin((r-32)/16));
>>imshow(i);figure;imshow(x/256);
55
圖 7.34
>>xh=homfilt(x,10,2,0.5,2);
>>imshow(xh/16);
56
圖 7.35
>> a=imread('arch.tif');>> figure;imshow(a);>> a1=a(:,:,1);>> figure;imshow(a1);
>> a2=double(a1);>> ah=homfilt(a2,128,2,0.5,2);>> figure;imshow(ah/14);