几种简单的滤波方式(未完)

从统计学的观点来看,凡是统计特征不随时间变化的噪声称为平稳噪声,而统计特征随时间变化的噪声称为非平稳噪声。幅值基本相同,但是噪声出现的位置是随机的,称为椒盐噪声;如果噪声的幅值是随机的,根据幅值大小的分布,有高斯型和瑞利型两种,分别称为高斯噪声瑞利噪声。由于去除噪声处理的原理和方法很多,这里只给出了简单的描述和我自己已实现的几种方法的java源代码。

常见的去噪处理有均值滤波,中值滤波,灰度最小方差均值滤波,K近邻平滑滤波,对称近邻均值滤波,西戈玛平滑滤波等。

均值滤波

定义

均值滤波方法是,对待处理的当前像素,选择一个模板,该模板为其邻近的若干个像素组成,用模板的均值来替代原像素的值的方法。


如下图,1~8(x,y)的邻近像素。

权系数矩阵模板


g = (f(x-1,y-1) + f(x,y-1)+ f(x+1,y-1) + f(x-1,y) + f(x,y) + f(x+1,y)  + f(x-1,y+1) + f(x,y+1) + f(x+1,y+1))/9

方法优缺点

优点:算法简单,计算速度快;对高斯噪声的处理效果好

缺点:降低噪声的同时使图像产生模糊,特别是景物的边缘和细节部分。

代码:

I=imread('lena.jpg');
[m n]=size(I);
I1=zeros(m,n);
for i=2:m-1
for j=2:n-1
for k=-1:1
for p=-1:1
I1(i,j)=I1(i,j)+I(i+k,j+p)*1/9;
end
end
end
end
imshow(I1,[]);

中值滤波


定义

中值滤波方法是,对待处理的当前像素,选择一个模板,该模板为其邻近的若干个像素组成,对模板的像素由小到大进行排序,再用模板的中值来替代原像素的值的方法。

权系数矩阵模板



g = median[(x-1,y-1) + f(x,y-1)+ f(x+1,y-1)  + f(x-1,y) + f(x,y) + f(x+1,y)  + f(x-1,y+1) + f(x,y+1) + f(x+1,y+1)]


代码:

x=imread('lena.jpg');
y=imnoise(x,'salt & pepper',0.04); %加椒盐噪声
z=medfilt2(y(:,:),[5 5],'symmetric'); %中值滤波
imshow(z);
imwrite(z,'medfilt.jpg');
title('zhongzhilvbo');
中值滤波的:主要针对椒盐噪声的处理效果好;


3、高斯平滑滤波器(Gaussian Smoothing Filter)

高斯平滑滤波器被使用去模糊图像,和均值滤波器差不多,但是和均值滤波器不一样的地方就是核不同。均值滤波器的核每一个值都是相等,而高斯平滑滤波器的核内的数却是呈现高斯分布的。

对于二维高斯分布:



它的分布图如下:

作为高斯平滑滤波器的核就应该呈现出上图的布局,例如:

一般而言,高斯平滑滤波器要优于均值滤波器。

一般在使用时我们用的模板是:


[1 2 1;2 4 2;1 2 1]/16   的模板


编程类似中值滤波的过程

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值