平滑濾波器()是增加低頻的空間域濾波技術。空間域濾波技術即不經由傅立葉轉換,直接處理影像中的像素,主要用於模糊化和去除雜訊。平滑濾波器的輸出是濾波器遮罩的鄰域所含像素的平均,遮罩越大平滑的效果越好,然而若遮罩過大平滑效果會使邊緣的信息失真越嚴重,使输出的圖像過度模糊,因此需合理選擇遮罩的大小。
實現
簡易型平滑濾波器
最簡易型的平滑濾波器可表示為下式
:
y [n]= {1 \over 2L +1 } \sum_{\tau=n-L}^{n+L} x[\tau]
可改寫為
:
y [n]= x[n]*h[n]
h[n]如下圖所示
:
y [n]= \sum_{\tau} x[n-\tau]h[\tau] = \sum_{\tau=-L}^{L} x[n-\tau]{1 \over 2L +1 } = {1 \over 2L +1 } \sum_{\tau=-L}^{L} x[n-\tau]
:y[n]= {1 \over 2L +1 } \sum_{\tau=n-L}^{n+L} x[\tau]
:y[n-1]= {1 \over 2L +1 }\sum_{\tau=n-1-L}^{n-1+L} x[\tau]
則可以把y[n]改寫為遞迴形式
:y[n] = y[n-1] + {1 \over 2L +1 }(x[n+L] - x[n-1-L])
一般型態平滑濾波器
一般型態平滑濾波器可表示成下列式子
:y[n] = x[n]*h[n] =\sum_{\tau=n-L}x[n-\tau]h[\tau]
而h[n]需符合下列條件
:\begin{cases}
\ 1. h[n] = h[-n] \\
\ 2. |h[n_1]|\leq |h[n_2]| & |n_1|>|n_2|
\end{cases}
任何隨著|n|遞減的偶函數都可以當成平滑濾波器
應用
平滑濾波器多用來模糊化、去除雜訊,找出信號長期趨勢。
下列為平滑濾波器簡單的範例
% matlab code %
y =[0:0.1:5]'; %產生信號
y = y+ 0.15.*randn(length(y), 1); %信號加上雜訊
y2 = smooth(y'); %使用平滑濾波器去信號雜訊
subplot(2,1,1),plot(b,y);
title('x[n]');
subplot(2,1,2),plot(b,y2);
title('x[n] after smoother');
模擬結果
參考書目、資料來源
评论 (0)