空間濾波
Spatial Filtering
影像處理Nov. 9, 2014
銘傳資工李遠坤副教授編撰
大綱
1. 空間域與頻率域 Spatial and Frequency Domain
2. 空間濾波的基本原理 Basic of Spatial Filtering
3. 平滑空間濾波器 Smoothing Spatial Filter
4. 胡椒鹽雜訊與中值濾波器
Pepper-and-salt Noise and Median Filter
5. 銳化空間濾波器 Sharping Spatial Filter
2
空間域與頻率域
Spatial and Frequency Domain
3
空間域上的影像處理
4
• 直接針對空間域上的像素色彩值進行處理,處理結果也
是直接取代原先空間域上的像素色彩值。
處理前影像 處理後影像
空間域之影像處理
空間域上的影像處理 (續)
• 之前所介紹的直方圖均化、Photoshop 的色階調整、曲線
調整…等都是直接在空間域上進行的影像處理。
• 本單元要介紹的平滑 (Smoothing)、銳化 (Sharping)及中值
等濾波器,都是屬於空間域上的影像處理。
5
頻率域上的影像處理
6
處理前影像 處理後影像
頻率域之影像處理
• 並不會直接針對空間域的像素色彩值處理,首先,將其
換成頻率域上的係數後再進行處理,最後再轉換回來。
轉換 Transformation Inverse Transformation 反轉換
頻率域上的影像處理 (續)
• 最常見的轉換是傅立葉轉換 (Fourier Transform)。
• 影像壓縮標準 JPEG則是採用
離散餘弦轉換 (Discrete Cosine
Transform ) 作為轉換工具。
7
空間濾波的基本原理
Basic of Spatial Filtering
8
空間濾波的基本原理
9
(x,y)
影像 f(x,y)
座標原點y
x
mask
• 濾波器 (filter)也稱為遮罩 (mask)、
核心 (kernel)、模板 (template)、
或視窗 (window)。
• 濾波器大小會依應用不同而有所
不同。
• 濾波器上每一格都有一個對應的
濾波器係數(coefficient)。
空間濾波的基本原理 (續)
10
• 濾波器 w 的係數依其位置給予索引
標號,令中心點為 𝑤(0, 0),如左圖。
• 濾波器會從上而下,從左而右地處
理影像中的每一個像素。
• 當濾波器中心點 𝑤(0, 0)落於影像座
標 (𝑥, 𝑦)的像素之上,濾波運算會
產生新的像素色彩值 𝑔(𝑥, 𝑦)。
f(x-1,y-1) f(x-1,y) f(x-1,y+1)
f(x,y-1) f(x,y) f(x,y+1)
f(x+1,y-1) f(x+1,y) f(x+1,y+1)
w(-1,-1) w(-1,0) w(-1,1)
w(0,-1) w(0,0) w(0,1)
w(1,-1) w(1,0) w(1,1)
空間濾波的基本原理 (續)
11
f(x-1,y-1) f(x-1,y) f(x-1,y+1)
f(x,y-1) f(x,y) f(x,y+1)
f(x+1,y-1) f(x+1,y) f(x+1,y+1)
w(-1,-1) w(-1,0) w(-1,1)
w(0,-1) w(0,0) w(0,1)
w(1,-1) w(1,0) w(1,1)
𝑔 𝑥, 𝑦
= 𝑤 −1,−1 𝑓 𝑥 − 1, 𝑦 − 1
+𝑤 −1,0 𝑓 𝑥 − 1, 𝑦 + ⋯
+𝑤 0,0 𝑓 𝑥, 𝑦 +⋯
+𝑤 1,0 𝑓(𝑥 + 1, 𝑦)
+ 𝑤 1,1 𝑓(𝑥 + 1, 𝑦 + 1)
空間濾波的基本原理 (續)
12
f(x-1,y-1) f(x-1,y) f(x-1,y+1)
f(x,y-1) f(x,y) f(x,y+1)
f(x+1,y-1) f(x+1,y) f(x+1,y+1)
w(-1,-1) w(-1,0) w(-1,1)
w(0,-1) w(0,0) w(0,1)
w(1,-1) w(1,0) w(1,1)
𝑔(𝑥, 𝑦) =
𝑠=−𝑎
𝑎
𝑡=−𝑏
𝑏
𝑤 𝑠, 𝑡 𝑓 𝑥 + 𝑠, 𝑦 + 𝑡
• 假設濾波器大小m*n 均為奇數
• 𝑚 = 2𝑎 + 1
• 𝑛 = 2𝑏 + 1
平滑空間濾波器
Smoothing Spatial Filter
13
平滑空間濾波器
14
• 平滑濾波器(Smoothing filter)主要用途是模糊化(blurring)
和減少雜訊(noise reduction)。
• 模糊化通常在影像中針對較大物件的萃取(object
extraction)時,在預處理(preprocessing)階段,先用平滑
濾波器移除影像中的小細節;或是針對直線或曲線上的
小間隙,用平滑濾波器將小間隙連接起來。
• 減少雜訊除了使用平滑濾波器之外,也可以使用中值濾
波器來完成。
平滑空間濾波器 (續)
15
• 平滑濾波器(smoothing filter)的輸出為遮罩所包含的臨
域中,所有像素的平均值。故有時亦稱為平均濾波器
(averaging filter)。
• 平滑濾波器的效果和頻率域中的低通濾波器是相同的,
因此,也稱為低通濾波器(lowpass filter)。
平滑空間濾波器 (續)
16
• 上圖的遮罩將1
9提出,可降低運算
所需時間。
• 下圖為權重平均(weighted average),
中間係數權重較大,代表中心像素的
色彩值被視為較重要,離中心點越遠
的像素權重較小,表示重要性較低。
所有係數值總和為16,故必須再乘上
1
16,達到平均的目的。
1 1 1
1 1 1
1 1 1
1
9×
1 2 1
2 4 2
1 2 1
1
16×
平滑空間濾波器 (續)
17
• 大小為𝑚 × 𝑛 (𝑚, 𝑛均為奇數 )的權重平均濾波器,其表
示式為
𝑔(𝑥, 𝑦) = 𝑠=−𝑎𝑎 𝑡=−𝑏
𝑏 𝑤 𝑠, 𝑡 𝑓 𝑥 + 𝑠, 𝑦 + 𝑡
𝑠=−𝑎𝑎 𝑡=−𝑏
𝑏 𝑤 𝑠, 𝑡
• 注意!在實作時,分母為遮罩中所有係數的總和。因此
可事先計算並儲存為常數。不必於每個像素中重新計算。
中值濾波器與胡椒鹽雜訊
Median Filter and Pepper-and-salt Noise
18
排序統計濾波器
19
• 排序統計濾波器(order-statistics filter)屬非線性濾波器,
其輸出為根據遮罩中所有像素色彩排序後的結果。
• 例如,最大值濾波器(max filter)的輸出為遮罩中所有像
素色彩的最大值,
• 最小值濾波器(min filter)的輸出為遮罩中所有像素色彩
的最小值。
• 中值濾波器(median filter)的輸出為遮罩中所有像素色彩
的中位數。
中值濾波器與胡椒鹽雜訊
20
• 中值濾波器常可用來消除脈衝雜訊(impulse noise)。
• 影像中的脈衝雜訊是以白點或黑點的形式出現,就像在
影像中撒上黑胡椒與白鹽一般,所以又稱為胡椒鹽雜訊
(pepper-and-salt noise)。
中值濾波器與胡椒鹽雜訊 (續)
21
含 6% 隨機胡椒鹽雜訊之影像 使用中值濾波器後之影像
中值濾波器與胡椒鹽雜訊 (續)
22
含 20% 隨機胡椒鹽雜訊之影像 使用中值濾波器後之影像
銳化空間濾波器
Sharping Spatial Filter
23
銳化空間濾波器
24
• 銳化濾波器 (sharping filter) 的目的是強化影像細節,並
凸顯其色彩強度的變化。
微積分與影像處理
25
• 我們已經知道平滑濾波是將鄰域中的所有像素的色彩值
取平均而達成,而平均其實是與積分相關。
• 將函數積分所得到的面積,除以積分範圍就可以得到此
段函數的平均值。
• 合理的推論: 銳化濾波可以由微分來達成。
𝑓𝑎𝑣𝑔 =1
𝑏 − 𝑎 𝑎
𝑏
𝑓 𝑥 𝑑𝑥
微積分與影像處理 (續)
26
• 定義域為實數的函數 𝑓(𝑥),其一階導函數 (微分)的定
義如下:
𝑓′ 𝑥 = limℎ→0
𝑓 𝑥 + ℎ − 𝑓(𝑥)
ℎ
• 其意義為當輸入的自變數變化一點點時(由 𝑥變成 𝑥 +
ℎ ),觀察函數值的變化 (由 𝑓(𝑥)變化成 𝑓(𝑥 + ℎ) ),換
句話說,就是函數 𝑓(𝑥)在 𝑥的變化率。
微積分與影像處理 (續)
27
• 若是將影像的某一列視為一個函數,函數值即為像素色
彩值,自變數為水平座標,因此其定義域為正整數。
• 由相鄰兩個像素其位置的座標至少差 1,因此此函數是
屬於離散函數 (discrete function)的一種。
• 離散函數 𝑓(𝑥)的導函數 (差分)的定義和連續函數的微
分非常類似,只是自變數的變化最小為 1,由 𝑥變成
𝑥 + 1。因此,求導函數不再需要用到極限的概念,只
要相鄰兩個值相減即可。
差分:一階與二階導函數
28
• 離散函數 𝑓(𝑥)的一階導函數 (差分)定義如下:
𝑓′ 𝑥 =𝑑𝑓(𝑥)
𝑑𝑥= 𝑓 𝑥 + 1 − 𝑓(𝑥)
• 同理,二階導函數可由一階導函數推導出
𝑓′′ 𝑥 =𝑑2𝑓(𝑥)
𝑑𝑥2= 𝑓′ 𝑥 + 1 − 𝑓′ 𝑥
= 𝑓 𝑥 + 2 − 𝑓 𝑥 + 1 − 𝑓 𝑥 + 1 − 𝑓 𝑥
= 𝑓 𝑥 + 2 − 2𝑓 𝑥 + 1 + 𝑓(𝑥)
差分:一階與二階導函數
29
• 所導出的二階導函數
𝑓′′ 𝑥 =𝑑2𝑓
𝑑𝑥2= 𝑓 𝑥 + 2 − 2𝑓 𝑥 + 1 + 𝑓(𝑥)
• 由於中心點並沒有位於 𝑥,因此,將二階導函數重新定
義為
𝑓′′ 𝑥 =𝑑2𝑓
𝑑𝑥2= 𝑓 𝑥 + 1 − 2𝑓 𝑥 + 𝑓(𝑥 − 1)
範例討論
30
• 左圖紅色箭頭所指的影像列,將其色彩值用函數的圖形表示法畫出,即如右圖所示。
範例討論 (續)
31
5 5 4 3 2 1 0 0 0 6 0 0 0 0 1 3 1 0 0 0 0 7 7 7 7Imagestrip
FirstDerivative -1 -1 -1 -1 -1 0 0 6 -6 0 0 0 1 2 -2 -1 0 0 0 7 0 0 0
SecondDerivative -1 0 0 0 0 1 0 6 -12 6 0 0 1 1 -4 1 1 0 0 7 -7 0 0
76543210
下斜坡
孤立點
細線
平坦段步階
0
• 影像色階已經簡化成八個灰階值。
重新定義之二階導數
-1 0 0 0 0 1 0 6 -12 6 0 0 1 1 -4 1 1 0 0 7 -7 0 0
範例討論 (續)
32
• 下斜坡:除了兩邊,還跨了 4 個像素,影像的邊緣(edge)
通常類似這種慢慢變化的情況。
一階導數:共有 5個像素不為零。
二階導數:只在起點和終點,2個像素不為零。
推論:一階導數產生較寬的邊緣,二階導數產生的邊緣
較細緻。
範例討論 (續)
33
• 孤立點:只有一個像素,像是雜訊點。
一階導數:反應在 2 個像素,一正一負 (跨零)。
二階導數:反應在 3 個像素上,且比一階導數強烈。
推論:二階導數在色階的改變,反應要比一階導數強烈。
範例討論 (續)
34
• 細線:也是一種影像細節,有三個像素。
一階導數:反應在 4個像素,二正二負 (跨零)。
二階導數:反應在 5個像素上,正中間雖然為負的,但
反應最大,也比一階導數要強列。
推論:二階導數反應比一階導數多且強列。
範例討論 (續)
35
• 步階:也是一種影像細節,有三個像素。
一階導數:反應在 1個像素。
二階導數:反應在 2個像素上,一正一負 (跨零)。
推論:兩個導數的反應強列度相同。
範例討論 (續)
36
• 結論:
一階導數產生的邊緣(edge) 較厚。
二階導數對孤立點和細直線有較強的反應。
一階導數對步階有強的反應。
二階導數對步階有強的雙反應。
二階導數在增強影像細節的應用上,通常會比一階導數要
更合適些。
銳化空間濾波器設計
37
• 運用二階導函數來設計銳化濾波器最有名的就是拉普拉
斯 (Laplacian) 運算子。因為影像 𝑓(𝑥, 𝑦)為二維雙變數函
數,故使用偏微分的符號為其定義
𝛻2𝑓(𝑥, 𝑦) =𝜕2𝑓(𝑥, 𝑦)
𝜕𝑥2+𝜕2𝑓(𝑥, 𝑦)
𝜕𝑦2
𝜕2𝑓(𝑥, 𝑦)
𝜕𝑥2= 𝑓 𝑥 − 1, 𝑦 − 2𝑓 𝑥, 𝑦 + 𝑓(𝑥 + 1, 𝑦)
𝜕2𝑓(𝑥, 𝑦)
𝜕𝑦2= 𝑓 𝑥, 𝑦 − 1 − 2𝑓 𝑥, 𝑦 + 𝑓(𝑥, 𝑦 + 1)
銳化空間濾波器設計
38
• 拉普拉斯(Laplacian) 運算子:
𝛻2𝑓(𝑥, 𝑦) =𝜕2𝑓(𝑥, 𝑦)
𝜕𝑥2+𝜕2𝑓(𝑥, 𝑦)
𝜕𝑦2
= 𝑓 𝑥 + 1, 𝑦 − 2𝑓 𝑥, 𝑦 + 𝑓(𝑥 − 1, 𝑦)
+ 𝑓 𝑥, 𝑦 + 1 − 2𝑓 𝑥, 𝑦 + 𝑓 𝑥, 𝑦 − 1
= 𝑓 𝑥 + 1, 𝑦 + 𝑓 𝑥 − 1, 𝑦 + 𝑓 𝑥, 𝑦 + 1 + 𝑓 𝑥, 𝑦 − 1
−4𝑓 𝑥, 𝑦
銳化空間濾波器設計
39
• 將拉普拉斯運算子 𝛻2𝑓用遮罩的
方式實作:
𝛻2𝑓 𝑥, 𝑦
= 𝑓 𝑥 + 1, 𝑦 + 𝑓 𝑥 − 1, 𝑦
+ 𝑓 𝑥, 𝑦 + 1 + 𝑓 𝑥, 𝑦 − 1
− 4𝑓 𝑥, 𝑦
• 此運算子分別考慮了 𝑥與 𝑦方向
的變化細節,並將其加總。
f(x-1,y-1) f(x-1,y) f(x-1,y+1)
f(x,y-1) f(x,y) f(x,y+1)
f(x+1,y-1) f(x+1,y) f(x+1,y+1)
0 1 0
1 -4 1
0 1 0
銳化空間濾波器設計
40
• 若將對角線的細節變化也考慮進
來,遮罩將會如左圖的方式實作。
• 利用拉普拉斯運算子來設計銳化
濾波器的公式為
𝑔 𝑥, 𝑦 = 𝑓 𝑥, 𝑦 − 𝛻2𝑓(𝑥, 𝑦)f(x-1,y-1) f(x-1,y) f(x-1,y+1)
f(x,y-1) f(x,y) f(x,y+1)
f(x+1,y-1) f(x+1,y) f(x+1,y+1)
1 1 1
1 -8 1
1 1 1
銳化空間濾波器設計
41
• 將銳化濾波器的公式簡化
𝑔 𝑥, 𝑦
= 𝑓 𝑥, 𝑦 − 𝛻2𝑓 𝑥, 𝑦
= 𝑓 𝑥, 𝑦 − [𝑓 𝑥 + 1, 𝑦 + 𝑓 𝑥 − 1, 𝑦 + 𝑓 𝑥, 𝑦 + 1
+ 𝑓 𝑥, 𝑦 − 1 − 4𝑓 𝑥, 𝑦 ]
= 5𝑓 𝑥, 𝑦 − 𝑓 𝑥 + 1, 𝑦 − 𝑓 𝑥 − 1, 𝑦 − 𝑓 𝑥, 𝑦 + 1
− 𝑓 𝑥, 𝑦 − 1
銳化空間濾波器設計
42
• 簡化後的銳化濾波器的遮罩如下:
0 -1 0
-1 5 -1
0 -1 0
-1 -1 -1
-1 9 -1
-1 -1 -1
銳化空間濾波器設計
43
• 使用銳化濾波器遮罩 𝑔 𝑥, 𝑦 = 𝑓 𝑥, 𝑦 − 𝛻2𝑓(𝑥, 𝑦)
得到的月球北極影像 (the North Pole of the Moon)。