平滑滤波

平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需合理选择邻域的大小。

簡易型平滑濾波器

最簡易型的平滑濾波器可表示為下式

y[n]={1 \over 2L+1}\sum _{​{\tau =n-L}}^{​{n+L}}x[\tau ]

可改寫為

y[n]=x[n]*h[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|遞減的偶函數都可以當成平滑濾波器

一般型平滑濾波器的脈衝響應範例h[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');

模擬結果

一般型平滑濾波器的脈衝響應範例h[n]


Matlab的Smooth函数还有一个参数是设置span, 不同的span影响不同的平滑程度:

a=[0:0.01:10]';
c = a + 0.1.*randn(length(y), 1);
d= smooth(c', 20);
plot(d)
e=smooth(c', 5);
plot(e)

下面是更光滑的:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值