基于MATLAB的带噪图像的高斯滤波

基于MATLAB的带噪图像的高斯滤波

摘要:图像常常被强度随机信号(也称为噪声)所污染.一些常见的噪声有椒盐(Salt & Pepper)噪声、脉冲噪声、高斯噪声等.椒盐噪声含有随机出现的黑白强度值.而脉冲噪声则只含有随机的白强度值(正脉冲噪声)或黑强度值(负脉冲噪声).与前两者不同,高斯噪声含有强度服从高斯或正态分布的噪声.研究滤波就是为了消除噪声干扰。图像滤波总体上讲包括空域滤波和频域滤波。频率滤波需要先进行傅立叶变换至频域处理然后再反变换回空间域还原图像,空域滤波是直接对图像的数据做空间变换达到滤波的目的。它是一种邻域运算,即输出图像中任何像素的值都是通过采用一定的算法,根据输入图像中对用像素周围一定邻域内像素的值得来的。如果输出像素是输入像素邻域像素的线性组合则称为线性滤波(例如最常见的均值滤波和高斯滤波),否则为非线性滤波(中值滤波、边缘保持滤波等)。线性平滑滤波器去除高斯噪声的效果很好,且在大多数情况下,对其它类型的噪声也有很好的效果。线性滤波器使用连续窗函数内像素加权和来实现滤波。特别典型的是,同一模式的权重因子可以作用在每一个窗口内,也就意味着线性滤波器是空间不变的,这样就可以使用卷积模板来实现滤波。如果图像的不同部分使用不同的滤波权重因子,且仍然可以用滤波器完成加权运算,那么线性滤波器就是空间可变的。任何不是像素加权运算的滤波器都属于非线性滤波器.非线性滤波器也可以是空间不变的,也就是说,在图像的任何位置上可以进行相同的运算而不考虑图像位置或空间的变化。

关键词:图像,高斯滤波,去噪,MATLAB

  1. 引言

20世纪20年代,图像处理首次得到应用。上个世纪60年代中期,随着计算机科学的发展和计算机的普及,图像处理得到广泛的应用。60年代末期,图像处理技术不断完善,逐渐成为一个新兴的学科。图像处理中输入的是质量低的图像,输出的是改善质量后的图像。为了改善图像质量,从图像中提取有效信息,必须对图像进行去噪预处理。根据噪声频谱分布的规律和统计特征以及图像的特点,出现了多种多样的去噪方法。经典的去噪方法有:空域合成法,频域合成法和最优合成法等,与之适应的出现了许多应用方法,如均值滤波器,中值滤波器,低通滤波器,维纳滤波器,最小失真法等。这些方法的广泛应用,促进数字信号处理的极大发展,显著提高了图像质量。一幅原始图像在获取和传输过程中会受到各种噪声的干扰,使图像质量下降,对分析图像不利。反映到图像画面上,主要有两种典型的噪声。一种是幅值基本相同,但出现的位置随机的椒盐噪声,另一种则每一点都存在,但幅值随机分布的随机噪声。为了抑制噪声、改善图像质量,要对图像进行平滑处理。图像平滑处理的方法多种多样,有邻域平均、中值滤波,高斯滤波、灰度最小方差的均值滤波等。

  1. 高斯平滑滤波的原理

高斯滤波是根据高斯函数的形状来选择权值的线性平滑滤波器。高斯平滑滤波器对去除服从正态分布的噪声是很有效果的。一维零均值高斯函数为

v2-50693cb20f045e81db09c616ecc46bc3_b.jpg

。其中,高斯分布参数 决定了高斯滤波器的宽度。对图像来说,常用二维零均值离散高斯函数作平滑滤波器,函数表达式如下:


v2-36970e629c8008470829cc70749888d3_b.jpg

式(1)

高斯函数具有5个重要性质:

(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的。一般来说一幅图像的边缘方向是不知道的。因此,在滤波之前是无法确定一个方向比另一个方向上要更多的平滑的。旋转对称性意味着高斯滤波器在后续的图像处理中不会偏向任一方向。

(2)高斯函数是单值函数。这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点的权值是随着该点与中心点距离单调递减的。这一性质是很重要的,因为边缘是一种图像局部特征。如果平滑运算对离算子中心很远的像素点仍然有很大的作用,则平滑运算会使图像失真。

(3)高斯函数的傅立叶变换频谱是单瓣的。这一性质是高斯函数傅立叶变换等于高斯函数本身这一事实的直接推论。图像常被不希望的高频信号所污染,而所希望的图像特征,既含有低频分量,又含有高频分量。高斯函数傅立叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需要的信号。

(4)高斯滤波器的宽度(决定着平滑程度)是由参数σ表证的,而且σ和平滑程度的关系是非常简单的。σ越大,高斯滤波器的频带就越宽,平滑程度就越好。通过调节平滑程度参数σ,可在图像特征分量模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷。

(5)由于高斯函数的可分离性,大高斯滤波器可以有效实现。通过二维高斯函数的卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积的结果与方向垂直的相同一维高斯函数进行卷积。因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长。这些性质使得它在早期的图像处理中特别有用,表明高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器。

高斯函数的可分离性很容易表示:

v2-69c41fdfb443145bd81484a1603803bf_b.jpg

式(2)

v2-8619809da356bc263d71de3b04c94afa_b.jpg

式(3)

v2-80462e66b0b1b91d9e5d9e033a5bd75c_b.jpg

式(4)


在图像滤波中,常用的方法是线性滤波技术和非线性滤波技术,线性滤波以其完美的理论基础,数学处理简单、易于采用和硬件实现等优点,一直在图像滤波领域中占有重要地位。

  1. 高斯滤波实验结果,分析与总结

以下即为本课题研究的主要内容及要求:

(1)使用imread()读入原始的彩色图像。

(2)用imnoise()在灰度图像中加入椒盐噪声。

(3)利用高斯滤波 A1=fspecial('gaussian',k,n3) %生成高斯序列Y1=filter2(A2,g)/255 用生成的高斯序列进行滤波。

(4)显示滤波后的图像。

在MATLAB里运行程序:

Clear

Close all

A1=imread('F:/1.bmp');

A2=imnoise(A1,'salt & pepper',0.05);

n=input('请输入高斯滤波器的均值\n');
k=input('请输入高斯滤波器的方差\n');
A3=fspecial('gaussian',k,n3); %生成高斯序列
Y1=filter2(A3,g)/255; %用生成的高斯序列进行滤波

图一: 加入椒盐噪声处理前后的图像


v2-cead6e81cfe98bb46df5cf675af28183_b.jpg



图二:高斯噪声处理前后的图像


v2-74f936c4845ef7684815d59c2ca6ba0f_b.jpg

v2-574596f14af01593f2b0b33b59b76c9d_b.jpg


  1. 结束语

在图像处理过程中,消除图像的噪声干扰是一个非常重要的问题,本文利用matlab软件,采用高斯滤波的方式,对带有椒盐噪声的图像进行处理,经过滤波后的图像既适合人眼的视觉感觉又能够消除图像中的干扰影响。通过本次试验我们可以看到高斯滤波对于滤除图像的“椒盐”噪声非常有效,它可以做到既去除噪声又能保护图像的边缘,从而获得较满意的复原效果,尤其在滤除叠加白噪声和长尾叠加噪声方面显出极好的性能。

参考文献

[1] 张志涌 精通MATLAB 6.5版教程.北京:北京航天航空大学出版社, 2003(56)

[2] 胡鹏,徐会燕.基于matlab的图像去噪算法的研究与实现《福建电脑》,2009(12)

[3] 李彦军,苏红旗等.改进的中值滤波图像去噪方法研究《计算机工程与设计》,2009(12)

[4] 孙宏琦,施维颖,巨永峰.利用中值滤波进行图像处理《长安大学学报(自然科学版) 》,2003(2)

[5] 周建兴,MATLAB从入门到精通. 人民邮电出版社 2008(60)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值