基于MATLAB的图像平滑算法实现及应用

骨z1里的傲慢
747次浏览
2020年03月26日 12:33
最佳经验
本文由作者推荐
椒盐
目录 1.3 图像噪声 一幅图像在获取和传输等过程中,会受到各种各样噪声的干扰,其主要来源有三:一为在光电、电磁转换过程中引入的人为噪声;二为大气层电(磁)暴、闪电、电压、浪涌等引起的强脉冲性冲激噪声的干扰;三为自然起伏性噪声,由物理量的不连续性或粒子性所引起,这类噪声又可分成热噪声、散粒噪声等。一般在图像处理技术中常见的噪声有:加性噪声、乘性噪声、量化噪声、“盐和胡椒”噪声等。下面介绍两种主要的噪声。


1、高斯噪声 这种噪声主要来源于电子电路噪声和低照明度或高温带来的传感器噪声,也称为正态噪声,是在实践中经常用到的噪声模型。高斯随机变量z 的概率密度函数(PDF)由下式给出: p(z)1/2exp{(z)2/22} 其中, z 表示图像像元的灰度值;μ表示z 的期望;σ表示z 的标准差。


2、椒盐噪声 主要来源于成像过程中的短暂停留和数据传输中产生的错误。其PDF 为: pap(z)pb0 zazb其他 如果b > a, 灰度值b 在图像中显示为一亮点,a 值显 1 示为一暗点。如果Pa 和图像 均不为零,在图像上的表现类似于随机分布图像上的胡椒和盐粉微粒,因此称为椒盐噪声。
当Pa 为零时,表现为“盐”噪声;当Pb 为零时,表现为“胡椒”噪声。 图像中的噪声往往是和信号交织在一起的尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边缘轮廓‘线条等模糊不清,从而使图像质量降低。 2 第二章、图像平滑方法
2.1 空域低通滤波 将空间域模板用于图像处理,通常称为空间滤波,而空间域模板称为空间滤波器。空间域滤波按线性和非线性特点有:线性、非线性平滑波器。
线性平滑滤波器包括领域平均法(均值滤波器),非线性平滑滤波器有中值滤波器。
2.
1.1 均值滤波器 对一些图像进行线性滤波可以去除图像中某些类型的噪声,如采用邻域平均法的均值滤波器就非常适用于去除通过扫描得到的图像中的颗粒噪声。邻域平均法是空间域平滑技术。
这种方法的基本思想是,在图像空间,假定有一副N×N个像素的原始图像f(x,y),用领域内几个像素的平均值去代替图像中的每一个像素点值的操作。经过平滑处理后得到一副图像 g(x,y), 其表达式如下: g(x,y)1/M(m,n)sf(m,n) 式中: x,y=0,1,2,„,N-1;s为(x,y)点领域中点的坐标的集合,但不包括(x,y)点;M为集合内坐标点的总数。 领域平均法有力地抑制了噪声,但随着领域的增大,图像的模糊程度也愈加严重。
为了尽可能地减少模糊失真,也可采用阈值法减少由于领域平均而产生的模糊效应。其公式如下: 1/Mf(m,n)g(x,y)(m,n)sf(x,y)f(x,y)1/M其他(m,n)sf(m,n)T 式中:T为规定的非负阈值。 3 上述方法也可称为算术均值滤波器,除此之外还可以采用几何均值滤波器、谐波均值滤波器和逆谐波均值滤波器。几何均值滤波器所达到的平滑度可以与算术均值滤波器相比,但在滤波过程中会丢失更少的图像细节。谐波均值滤波器对“盐”噪声效果更好,但是不适用于“胡椒”噪声。它善于处理像高斯噪声那样的其他噪声。逆谐波均值滤波器更适合于处理脉冲噪声,但它有个缺点,就是必须要知道噪声是暗噪声还是亮噪声,以便于选择合适的滤波器阶数符号,如果阶数的符号选择错了可能会引起灾难性的后果。

2.
1.2 中值滤波器 中值滤波是一种常用的去除噪声的非线性平滑滤波处理方法,其基本思想用图像像素点的领域灰度值的中值来代替该像素点的灰度值。
二维中值滤波可以用下式表示: yijMedfijij 式中:A为滤波窗口;f 为二维数据序列。
其主要功能是让周围象素灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点,所以中值滤波对于滤除图像的椒盐噪声非常有效。中值滤波器可以做到既去除噪声又能保护图像的边缘,从而获得较满意的复原效果,而且,在实际运算过程中不需要图像的统计特性,这也带来不少方便,但对一些细节多,特别是点、线、尖顶细节较多的图像不宜采用中值滤波的方法。如果希望强调中间点或距中间点最近的几个点的作用,则可采用加权中值滤波。
其基本原理是改变窗口中变量的个数,可以使一个以上的变量等于同一点的值,然后对扩张后的数字集求中值。这种方法比简单中值滤波性能更好地从受噪声污染的图像中恢复出阶跃边缘以及其他细节。另有一种可以处理具有更大概率的冲激噪声的是自适应中值滤波器,在进行滤波处理时,能依赖一 4 定条件而改变领域的大小。其优点是在平滑非冲激噪声时可以保存细节,所以既能除去“椒盐”噪声,平滑其他非冲激噪声,还能减少诸如物体边界细化或粗化等失真。
2.2 频域低通滤波 在分析图像信号的频率特性时,对于一副图像,直流分量表示了图像的平均灰度,大面积的背景区域和缓变部分是低频分量,其边缘、细节、跳跃部分以及颗粒噪声都代表图像的高频分量。频域低通滤波就是除去其高频分量就能去掉噪声,从而使图像得到平滑。
利用卷积定理,可以写成以下形式: G(u,v)=H(u,v)F(u,v) 式中,F(u,v)是含噪图像的傅立叶变换,G(u,v)是平滑后图像的傅立叶变换,H (u,v)是传递函数。利用H(u,v)使F(u,v)的高频分量得到衰减,得到G(u,v)后再经过反变换就得到所希望的图像g(u,v)了。低通滤波平滑图像的系统框图如下所示: 图3-1 图像频域低通滤波流程框图 低通滤波法又分为以下几种: (1) 理想低通滤波器(ILPF) 一个理想的低通滤波器的传递函数由下式表示: 1H(u,v)0 D(u,v)D0D(u,v)D0 式中D0是一个规定的非负的量,它叫做理想低通滤波 5 器的截止频率。D(u,v)代表从频率平面的原点到(u ,v)点的距离,即: 221/2D(u,v)(uv) 理想低通滤波器在处理过程中会产生较严重的模糊和振铃现象。
(2) 巴特沃思低通滤波器(BLPF) n 阶巴待沃思滤波器的传递系数为 H(u,v)11[D0/D(u,v)]2n DLPF与ILPF不同,它的通带与阻带之间没有明显的不连续性,因此它没有“振铃”现象发生,模糊程度减少,但从它的传递函数特性曲线H(u,v)可以看出,在它的尾部保留有较多的高频,所以对噪声的平滑效果还不如ILPF(理想低通滤波器)。 (3) 指数滤波器(ELPF) 其传递函数表示为: [D0/D(u,v)]H(u,v)e n 由于ELPF 具有比较平滑的过渡形,为此平滑后的图像没有“振铃”现象,而ELPF 与BLPF 相比.它具有更快的衰减特性,所以经ELPF 滤波的图像比BLPF 处理的图像稍微模糊一些。
(4) 梯形滤波器(TLPF) 梯形滤波器的传递函数介于理想低通滤波器和具有平 滑过渡带的低通滤波器之间,它的传递函数为: 6 1H(u,v)[D(u,v)D1]/[D0D1]0 D(u,v)D1D1D(u,v)D0D(u,v)D0 式中:D0为梯形低通滤波器截止频率,D

0、D1须满足D03.1 模拟噪声图像 图像增强操作主要是针对图像的各种噪声而言的,为了说明图像处理中的滤波方法和用途,需要模拟数字图像的各种噪声来分析滤波效果。
MATLAB图像处理工具箱提供的噪声添加函数imnoise,它可以对图像添加一些典型的噪声。其语法: J=imnoise(I,type) J=imnoise(I,type,parameters) 其功能是:返回对原图像I添加典型噪声的图像J,参数type和parameters用于确定噪声的类型和相应的参数。 三种典型的噪声: type=’gaussian’时,为 高 斯 噪 声; type=’salt&pepper’时为椒盐噪声; type=’speckle’时为乘法噪声; 图像数据读取函数imread从图像文件中读取图像数据。
其基本调用格式如下: I=imread(文件名,’图像文件格式’) 其功能是:将文件名指定的图像文件读入I中。 I=imshow(A) 其功能是显示图像A。 如下程序就实现了3种噪声污染了的图像: I=imread(''); %读取图像 I1=imnoise(I,'gaussian'); %加高斯噪声 8 I2=imnoise(I,'salt & pepper',
0.02); %加椒盐噪声 I3=imnoise(I,'speckle'); %加乘性噪声 subplot(221),imshow(I); %显示图像I subplot(222),imshow(I1); subplot(223),imshow(I2); subplot(224),imshow(I3); 运行结果如下: (a)原图像(b)受高斯噪声污染的图像 (c)受盐椒噪声污染的图像(d)受乘法噪声污染的图像 图3-1噪声污染的图像 9
3.2均值滤波法 在MATLAB图像处理工具箱中,提供了imfilter函数用于实现均值滤波,imfilter的语法格式为: B=imfilter(A,H) 其功能是,用H模板对图像A进行均值滤波, 取平均值滤波模版为 H1=1/9[1 1 1;1 1 1;1 1 1]; H2=1/25[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1]; 分别以这两个平均值滤波算子对图3-1中的四幅图像进行滤波操作。
取H1,程序如下: I=imread(''); I1=imnoise(I,'gaussian'); I2=imnoise(I,'salt & pepper',
0.02); I3=imnoise(I,'speckle'); H1=ones(3,3)/9; %3×3领域模板 J=imfilter(I,H1); %领域平均 J1=imfilter(I1,H1); J2=imfilter(I2,H1); J3=imfilter(I3,H1); subplot(221),imshow(J); subplot(222),imshow(J1); subplot(223),imshow(J2); subplot(224),imshow(J3); 运行结果如图3-2 取H2,程序如下: 10 I=imread(''); I1=imnoise(I,'gaussian'); I2=imnoise(I,'salt & pepper',
0.02); I3=imnoise(I,'speckle'); H2=ones(5,5)/25; J=imfilter(I,H2); J1=imfilter(I1,H2); J2=imfilter(I2,H2); J3=imfilter(I3,H2); subplot(221),imshow(J); subplot(222),imshow(J1); subplot(223),imshow(J2); subplot(224),imshow(J3); 运行结果如图3-
3: (a)原图像滤波后(b)受高斯噪声污染的图像滤波后 11 (c)受盐椒噪声污染的图像滤波后(d)受乘法噪声污染的图像滤波后 图3-2 图3-1中图像经过平均值算子H1滤波后图像 (a)原图像滤波后(b)受高斯噪声污染的图像滤波后(c)受盐椒噪声污染的图像滤波后。