数字图像处理的课件

上传人:zhan****gclb 文档编号:114475493 上传时间:2022-06-28 格式:DOC 页数:62 大小:3.73MB
收藏 版权申诉 举报 下载
数字图像处理的课件_第1页
第1页 / 共62页
数字图像处理的课件_第2页
第2页 / 共62页
数字图像处理的课件_第3页
第3页 / 共62页
资源描述:

《数字图像处理的课件》由会员分享,可在线阅读,更多相关《数字图像处理的课件(62页珍藏版)》请在装配图网上搜索。

1、第五章数字图像的预处理技术5.1图像退化模型与噪声分类5.2图像噪声的空间域滤波方法5.2.1针对加性噪声的空间域滤波方法(1)自适应均值滤波器2自适应中值滤波器3自适应梯度倒数加权滤波器5.2.2空间域滤波方法的MATLAB实现5.3图像空间域滤波新方法探索5.3.1中值滤波算法的研究1 噪声检测2基于数据逼近和细节保护规则函数的凸面代价函数与噪声恢复3方法性能的仿真实验评价5.3.2均值滤波算法的研究1基于RADON变换的图像主纹理方向分析2概率统计模型3方法性能的仿真实验评价5.4周期噪声与频域滤波5.5小波滤波5.5.1 小波域去噪模型5.5.2阈值的估计5.5.3小波滤噪的MATLA

2、B实现5.6偏微分方程图像去噪5.7边缘检测5.7.1边缘检测的梯度算子1Roberts算子 (5-116)2 Prewitt算子3 Sobel算子4 LOG算子5 Canny算子5.7.2基于梯度算子的边缘检测MATLAB编程5.7.3Hough变换与线检测第五章数字图像的预处理技术数字图像的预处理技术是图像处理与分析的基础,其处理结果对后序图像的处理与分析结果有非常大的影响。图像的预处理技术主要包括图像复原、图像增强两种操作,图像复原是通过使用退化现象的先验知识试图重建或恢复一幅退化图像,主要包括几何畸变的修正、图像滤噪等,本书在第三章介绍了几何畸变的修正的基本内容。本章主要介绍图像滤噪的

3、相关内容。图像增强是根据图像处理或分析的主要目标,以增强图像中相关的部分信息为主要目标的操作,主要包括图像锐化、边缘检测及基于图像直方图的图像增强等。在第三章介绍了基于图像直方图的图像增强技术。本章主要介绍图像图像锐化、边缘检测的相关内容。5.1图像退化模型与噪声分类在图像生成与传输过程中,由于成像系统与通讯信道各种因素的影响,可能使图像质量降低。这种图像质量的降低,被称之为“退化”。图像模糊、失真、附加噪声等都是图像退化的典型表现。图像复原是利用退化过程的先验知识使已被退化的图像恢复本来的面目,从而改善图像的质量。图像复原可以看成是退化的逆过程,因此了解图像的退化是进行图像复原的基础。一般来

4、说,图像的退化过程可以描述为如下的数学表达式: (5-1)式中,是原图像,是综合退化因子,是退化后的图像。通常,图像可以表示成: (5-2)式中,是像素点的特征函数,为冲击响应。为了简化问题,假定成像系统是线性的。实际上,一般情况下,退化因子对图像的各个像素点所产生的影响是相同的,呈现出线性的规律。这样,式(5-2)可以表示为: (5-3)令,称为成像系统的冲击相应,也叫做点扩散函数(PSF)。若成像系统是线性移不变系统,则退化图像可以用和的卷积表示如下: (5-4)此外,如果受到加性噪声的干扰,则图像的退化模型可表示为见图5.1: (5-5)如果噪声类型为乘性噪声,则图像的退化模型可表示为:

5、 (5-6)图像获取从数学上来说,图像退化是卷积运算和加噪运算的组合,如果可以施行去卷积和去噪声的操作,退化的图像就可以复原见图2.1。由此图像滤噪是图像复原的重要手段。图5.1 图像退化模型噪声可以理解为不可预测,只能用概率统计方法来认识的随机误差,因此将图像噪声看成是多维随机过程是合适的,描述噪声完全可以借用随机过程及其概论分布函数。图像噪声按其产生的原因可分为内部噪声与外部噪声;从统计特性可分为平稳噪声与非平稳噪声,平稳噪声统计特性不随时间变化,而非平稳噪声统计特性是时间的函数;按噪声与信号的关系可分为加性噪声与乘性噪声。基于前面的假设,所关心的空间噪声描述符是上面所提及模型的噪声分量灰

6、度值的统计特性。它们可以被认为是由概率密度函数(PDF)表示的随机变量,下面是图像处理常见的噪声分布类型。5.1.1数字图像常见的噪声数字图像常见的噪声分布类型有Gaussian噪声分布、瑞利噪声分布、伽马(厄兰)噪声、指数分布噪声、对数正态分布噪声、脉冲噪声分布等。一般来说,高斯噪声可以近似描述在低照明水平图像传感器成像产生的噪声,椒盐噪声可以模拟不完备的开关设备产生的噪声,瑞利噪声产生于波段成像,而指数与伽马(厄兰)噪声可以描述激光成像产生的噪声。照像乳胶中的银粒大小产生的噪声可以用对数正态分布噪声描述。图5.2给出了Lena图片感染各种噪声的结果。1Gaussian噪声分布这是一种常见的

7、噪声模型,大多数噪声可近似认为满足高斯分布,而且高斯分布比较容易进行数学分析。设随机变量满足高斯分布,则其概率密度函数为: (5-7)其中,表示图像的灰度值,表示期望值,表示的均方差。如果服从式(2-7)分布时,其值有70%落在范围内,且有90%落在范围内。2瑞利噪声分布若随机变量满足瑞利分布,则其概率密度函数为: (5-8)的均值和方差为: 3伽马(厄兰)噪声伽马噪声的PDF由下式给出: (5-9)其中,为正整数。密度的均值和方差为: 尽管式(2-9)经常被用来表示伽马密度,严格地说,只有分母为时伽马函数才是正确的。当分母如上式所示时,该密度近似为厄兰密度。4指数分布噪声指数噪声的PDF可由

8、下式给出: (5-10)其中。概率密度函数的期望值和方差为: 指数分布的概率密度函数是当时爱尔兰概率分布的特殊情况。5均匀分布噪声均匀分布噪声的概率密度可由下式给出: (5-11)概率密度函数的均值和方差可由下式给出: 6脉冲噪声分布 脉冲噪声的概率密度函数如下: (5-12)如果,灰度值在图像中将显示为一个亮点,相反,将显示为一个暗点。若或为零,则脉冲噪声称为单极脉冲。如果和均不可能为零,尤其是它们近似相等时,脉冲噪声值类似于随机分布在图像上的胡椒和盐粉微粒。由于这个原因,双极脉冲噪声也称为椒盐噪声。有时也称为散粒和尖峰脉冲。脉冲噪声可以是正,也可以是负。因为脉冲干扰通常与图像信号的强度相比

9、较大,因此,在一幅图像中,脉冲噪声总是数字化为最大值(纯白或纯黑)。这样,通常假设和是饱和值,从某种意义上看,在数字化图像中,它们等于所允许的最大值和最小值。由于这一结果,负脉冲以一个黑点(胡椒点)出现在图像中,正脉冲以一个白点(盐点)出现在图像中。对于一个8位图像,这意味着,。7对数正态分布噪声对数正态分布噪声概率密度函数如下: (5-13)5.1.2用MATLAB模拟各类噪声MATLAB工具中提供了imnoise()对图像添加噪声,其调用格式为:g=imnoise(f,type,parameters);其中f为待感染的图像,g为感染后的图像,参数type指定感染噪声类型,取值为gaussi

10、an感染的是高斯噪声,取值为salt & pepper,感染的是椒盐噪声,如果取值为localvar,则感染的是均值为零的高斯噪声,取值为speckle,感染的为乘性噪声,取值为posson,则感染的是泊松噪声。 参数parameters随type参数取值不同而不同,如果是高斯噪声,参数parameters指定其均值与方差,具体格式为:g=imnoise(f, gaussian,m,var);其中,m为高斯噪声的均值,var为方差。由于imnoise()函数要求被感染图像必须是取值为0,1之间的double类型,所以对应参数应考虑这一点,例如,对于256灰度图像,如果感染均值为64、方差为10

11、0的高斯噪声,参数。如果类型为椒盐噪声,则需指定噪声感染的概率密度,调用格式为:g=imnoise(f, salt & pepper,d);其中,d为感染率,如果省略d,则默认值为0.05。type取值为localvar,则感染的是均值为零的高斯噪声,调用有如下两种方式:g=imnoise(f, localvar,v);或者为:g=imnoise(f, localvar,image_intensity,v);第一种方式v为与图像f大小相同的数组,可以对每个像素规定其方差值。第二种方式v为与图像f的灰度值取值范围大小相同的数组,intensity为对应灰度值,可以对图像的每个灰度值规定其方差值。

12、type取值为 speckle ,则用方程将均值为0,给定方差的均匀分布的乘性噪声感染到图像f中,调用格式为:g=imnoise(f, speckle,var);其中,参量var指定均匀分布噪声的方差,缺省值为0.04。(c)感染概率为0.05的椒盐噪声 (b)感染均值0,方差0.01高斯噪声 (a) Lena原图像(f)感染a=10的指数噪声(d)感染a=0,b=0.01的瑞利噪声 (e)感染a=1,b=0.5的对数正态分布噪声 (h)感染a=20,b=5的厄兰噪声(i)感染均匀分布噪声(j)感染均匀分布,方差为0.04的乘性噪声图5.2 Lena图片感染各种噪声的结果例5.1 对Lena利

13、用MATLAB编程实现感染均值0,方差0.01高斯噪声。程序如下:f=imread(E:matlab7lena.bmp);g=rgb2gray(f);g1=im2double(g);g1=imnoise(g1,gaussian,0,0.01);imshow(g1,);执行结果见图5.2(b)例5.2 对Lena利用MATLAB编程实现感染噪声密度为0.05的椒盐噪声。程序如下:f=imread(E:matlab7lena.bmp);g=rgb2gray(f);g1=im2double(g);g1=imnoise(g1, salt & pepper ,0.05);imshow(g1);执行结果见

14、图5.2(c)虽然利用MATLAB提供的imnoise()可以方便的模拟一些图像噪声,但不能模拟所有图像噪声类型。哪么如何利用MATLAB模拟已知概率密度函数的所有图像噪声类型,根据概率论的一个著名结论:即若是一个在区间(0,1)内均均分布的随机变量,则可以通过下式获得具有指定概率累积分布函数(CDF)的随机变量: (5-14)其中为随机变量的累积分布函数CDF。哪么如何产生一个在区间(0,1)内均均分布的随机变量,MATLAB提供的随机函数可以产生一个在区间(0,1)内近似均均分布的随机变量,其调用格式为:w=rand(n,m);其中,参量为产生的随机变量组成的矩阵的大小,另外一个生成随机变

15、量的函数为randn(),其生成取值为(0,1)均值为0、单位方差的正态分布随机变量,其调用格式为:w=randn(n,m);参量与rand()函数相同。由此,只有已知噪声模型的概率分布函数,就可以计算出其累积分布函数,然后利用式(5-14)可以产生符合概率分布函数随机噪声,如果是加性噪声,即可以利用下式完成对图像的感染: (5-15)其中,为产生的与图像尺度相同的随机噪声。如对于瑞利噪声,根据式(5-8)可以求得其累积分布函数为: (5-16)根据式(5-14),得方程为: (5-17)解方程得: (5-18)则生成瑞利噪声的MATLAB m函数如下:Function r=rayleigh(

16、m,n,a,b)% rayleigh generates an array of random numbers with rayleigh PDF% with m-by-n, whos elements are random numbers between 0,1 with % parameters a and b. If m=n=1, it generates a single random number.r=a+(-b*log(1-rand(m,n).0.5end5.2图像噪声的空间域滤波方法图像退化是卷积运算和加噪运算的组合,如果可以施行去卷积和去噪声的操作,退化的图像就可以复原。当图像

17、退化原因仅仅是感染噪声时,式(5.2)变为: (5-19)由于噪声项是未知的,从减去它们不是一个现实的选择。不同的噪声处理方法也不同,存在加性噪声时,可以选择空间域滤波方法。如果是周期性噪声,频域处理方法较为适合。5.2.1针对加性噪声的空间域滤波方法对于感染加性噪声的图像,常用的空间域滤波方法有均值滤波器与顺序统计滤波器,均值滤波器是一种线性滤波器,而顺序统计滤波器是一种非线性滤波器。1均值滤波器均值滤波器主要有算术均值滤波器、几何均值滤波器、谐波均值滤波器、逆谐波均值滤波器。(1)算术均值滤波器算术均值滤波器是最简单的均值滤波器,如果表示中心在的点、尺寸为的矩形子图像窗口的坐标组。算术均值

18、滤波算法过程就是计算由定义的区域中被干扰图像的平均值。在任意点处复原图像的值就是用定义的区域的像素计算出来的算术平均值。即: (5-20)这个操作也可以用系数为的卷积模板来实现。(2)几何均值滤波器用几何均值滤波器复原一幅图像由如下表达式给出: (5-21)其中每一个复原像素由子图像窗口中像素点的乘积并自乘到次幂得出。几何均值滤波器所达到的平滑度可以与算法均值滤波器相比,在滤波过程中可以丢失更少的图像细节。(3) 谐波均值滤波器谐波均值滤波器滤噪操作如下表示: (5-22)谐波滤波器对于“盐”噪声、高斯噪声效果比较好,但是不适合于“胡椒”噪声。(4)逆谐波均值滤波器逆谐波均值滤波器对一幅图像进

19、行恢复操作依据如下公式: (5-23)其中称为滤波器的阶数。这种滤波器适合减少或者在实际中消除椒盐噪声,当为正数时,滤波器用于滤除“胡椒”噪声,当为负数时,滤波器用于滤除“盐”噪声。当时,逆谐波均值滤波器退化为算术均值滤波器,当时,它退化为谐波均值滤波器。 2顺序统计滤波器顺序统计滤波器的响应基于由滤波窗口包围的图像区域中像素点的排序结果,滤波器在任意点的响应由排序结果决定。主要有中值滤波器、最大值和最小值滤波器、中点滤波器、修正后的阿尔法均值滤波器等。(1)中值滤波器中值滤波器是最著名的顺序统计滤波器,它的输出响应是窗口中像素排序结果的中值: (5-24)像素的原始值包含在中值的计算结果中。

20、因为它对很多随机噪声都有很好的去噪能力,且在相同窗口尺寸下比线性滤波器引起的模糊少,所以中值滤波器应用很普遍。中值滤波器对滤除单极或双极脉冲噪声效果非常好。 (2) 最大值/最小值滤波器中值滤波器采用的是排序结果中的中值,而从基本的统计学上讲排序还有其它很多的可能性。当使用排序中的最大值时,得到最大值滤波器如下: (5-25)这种滤波器在发现图像中的亮点非常适用。同样,因为胡椒噪声是非常低的值,最大值滤波器是选择子图像中的最大值,可以滤除胡椒噪声。如果选择排序中的最小值,即为最小值滤波器: (5-26)这种滤波器发现图像中的暗点非常有用,使用最小值滤波器,可以滤除盐噪声。 (3)中点滤波器中点

21、滤波器是取滤波器涉及范围内的最大值和最小值之间的中点: (5-27)这种滤波器结合了顺序统计和求平均,对于高斯和均匀随机分布噪声有较好的效果。(4) 修正后的阿尔法均值滤波器假设在邻域内去掉最高灰度值的和最低灰度值的,用代表剩余的个像素,根据这些像素的平均值形成的滤波器被称为修正后的阿尔法均值滤波器。 (5-28)其中可以取0到之间的任意整数。当时,修正后的阿尔法均值滤波器退化为算术均值滤波器;当时,修正后的阿尔法均值滤波器退化为中值滤波器。修正后的阿尔法均值滤波器当取其它值时,结合了均值滤波器与中值滤波器的优点,对多种噪声感染形成的混合噪声非常有用。4 自适应滤波器以上提到的滤波器应用于图像

22、时,并没有充分考虑图像的局部特征的变化,自适应滤波器基于由矩形窗口定义的区域内图像的统计特性,具有更好的滤波性能。(1)自适应均值滤波器随机变量最简单的统计参量是均值和方差。因为它们是与图像状态紧密相关的数据,这些参数是自适应滤波器的基础。均值给出了区域图像的灰度平均值的度量,而方差给出了这个区域的对比度的度量。滤波器作用于局部区域,在任何点上的响应基于以下四个量: 表示噪声图像在点上的值 表示干扰以形成的噪声方差 表示在上像素点的局部均值 表示在上像素点的局部方差滤波器的输出响应如下:如果为零,滤波器应该简单地返回的值。(在零噪声情况下等于)如果局部方差和是高相关的,那么滤波器要返回一个的近

23、似值。如果两个方差相等,滤波器返回区域上的算术平均值。(在局部面积与全部图像有相同特性的条件下,局部噪声简单地用求均值来降低)为了获得,基于这些假设的自适应表达式可以写为: (5-29)在实际中对于式(5-29)的实现应构建一个测试,以便如果条件发生,把比率设置成1。这使该滤波器为非线性的,但它可以防止由于缺乏图像噪声方差的知识而产生的无意义的结果(即负灰度值)。另一个方法是允许负灰度值,在最后重新标定灰度值。这个结果将损失图像的动态范围。2自适应中值滤波器中值滤波器在冲激噪声空间密度不大(根据经验,噪声感染概率小于0.2),性能很好。自适应中值滤波器可以处理更大概率的冲激噪声,另外在平滑非冲

24、激噪声时可以更好地保存细节,这是传统中值滤波器做不到的。符号定义如下: 表示在坐标上的灰度值 表示窗口中灰度最小值 表示窗口中灰度最大值 表示窗口中灰度中值 表示窗口的最大值自适用中值滤波器的工作在两个层次,A层和B层,如下: A层:if (ZminZmedZmax) and (ZminZxyZmax) Zxy=Zxy;else if (ZminZmedZmax) and ! (ZminZxyZmax) Zxy=Zmed; else if ! (ZminZmedSmax Zxy=Zxy; else repeat from the begin; B层:if (ZminZmedZmax) and

25、(ZminZxyZmax) Zxy=Zxy;else if (ZminZmedZmax) and ! (ZminZxyZmax) Zxy=Zmed; else if ! (ZminZmedSmax Zxy=Zxy; else repeat from the begin; 该算法的主要目的是滤除椒盐噪声,平滑其它非冲激噪声,减小诸如边缘细化或粗化的失真。和的值进行统计后被算法认为是类冲激式的噪声成分,即使它们在图像中不是最高和最低的可能象素点。从算法中可以看到,A层的目的是决定中值滤波器的输出是否是一个脉冲(黑或白)。如果条件有效,则 就不是脉冲。在该情况下就转到B层,检查一下窗口中心点本身是否

26、是一个脉冲,如果条件为真,则也不是脉冲。在这种情况下,算法输出本身。如果条件为假,像素值是一个极值且算法输出中值。假设在A层找到一个脉冲,算法就会扩大窗口尺寸并重复A层。如果达到了最大的窗口尺寸还是能找到脉冲,算法就返回值。注意:如果噪声概率过小或者在允许的范围内越大,过早推出条件的可能性就越小。这应该是合理的,随着脉冲密度的增大,需要更大的窗口消除尖峰噪声。3自适应梯度倒数加权滤波器 图像中往往存在相邻区域的变化大于区域内部的变化,在同一区域中间像素的变化小于边缘像素的变化。梯度值正比于邻域像素灰度级之差,即图像变化缓慢区域,梯度值小,反之则大。如果取梯度的倒数,以梯度倒数作权重因子,则区域

27、内部的相邻点权重就大于外部像素点的权重。这种滤波器的主要贡献来自于区域内部的,对于保持图像的细节会更有效。下面以的窗口为例,如下图所示。定义: (5-30)并规定时,。则窗口内每一个像素点对应的权值为: (5-31)最后的倒数加权滤波输出为: (5-32)式中是中心像素占有的权值,可以通过调节的值来控制周围各点对滤波作用。5.2.2空间域滤波方法的MATLAB实现从上一节可以看出:空间域的滤波方法主要有线性与非线性两种,各类均值滤波是线性滤波器,而统计滤波器是非线性滤波器。均值滤波的主要思路是将像素特定邻域中每个像素与相应的系数想相乘,然后将结果累加,取平均做为点的滤波结果。若邻域大小为,则需

28、要系数,由这些系数组成的的矩阵称为滤波掩模、滤波窗口或为滤波模板。滤波过程是将滤波掩模的中心逐点移动到图像的每个像素处,然后将滤波掩模的系数与对应像素相乘,取其平均值即为中心点像素的滤波结果,这类似于信号分析中的相关运算,如果滤波掩模以中心对称,则此过程也可以理解成为信号分析的卷积过程。因为卷积是线性移不变系统的数学抽象,所以此类滤波方法是线性的。1线性滤波器的MATLAB实现MATLAB工具箱提供了imfilter()实现线性空间滤波,调用格式为:g=imfilter(f,w,mode,boundary_options,size_option);其中,参数f为待滤波图像,w为滤波掩模矩阵,m

29、ode规定了计算方式,如果为corr,则使用相关运算,如果是conv,则使用卷积运算,默认值为conv。boundary_options决定了对边界像素的处理方式,如果为p,则以值p来填充图像边界,如果为replicate,则以外边界像素值填充图像边界,如果为symmetric,则通过镜像反射来生成边界像素值,如果为circular,则将图像边界看成为一个二维周期函数的一个周期来扩展。参数size_option决定输出图像的大小,如果为full,则输出图像与扩展图像大小相同,如果是same,则输出图像与输入图像大小相同,缺省值为same。滤波过程的计算结果是双精度类型,但imfilter函数会

30、将结果转换为输入图像原有的数据类型,如果输入图像为整数型,则计算结果中超出取值范围的数据将以最大值或最小值代替,小数部分将会四舍五入。如果要求更高的精度,则在使用该函数之前,应将输入图像通过imdouble()或double转换为double类型。例5.3 对例5.1中感染高斯噪声的Lena图像利用MATLAB编程应用均值滤波器进行滤波。编程如下: f=imread(E:matlab7lena.bmp); g=rgb2gray(f); g=im2double(f); g1=imnoise(g,gaussian,0,0.01); imshow(g1); w=ones(3,3)/9; d=imfi

31、lter(g1,w,conv,replicate,same); figure; imshow(d,);该程序是生成的滤波掩模,然后调用imfilter实现滤波,由于imfilter只是计算卷积运算,所以要准确计算均值应除以滤波掩模的元素数,因此在生成由1组成的滤波掩模时,除以滤波掩模的元素数,执行结果见图5.3(b)。算术均值滤波器可以直接调用函数imfilter()写成,但是几何均值滤波必须先通过数学变换才能调用imfilter(),对式 (5-21)两边求对数,有: (5-33)则实现几何均值滤波的程序如下: w=ones(3,3)/9; warning off d1=exp(imfilt

32、er(log(g1),w,replicate,same); warning on figure; imshow(d1,);执行结果见图5.3(c)。根据式(5-22),谐波均值滤波器相当于用滤波掩模的元素数除以原图像的倒数与滤波掩模的卷积运算结果,对应程序如下: w=ones(3,3); d2=3*3./imfilter(1./(g1+eps),w,replicate,same); figure; imshow(d2,);其中,eps是MATLAB的最小常量,引入原因是以防某些像素值为0造成分母为零,程序的执行结果见5.3(d)。根据(5-23),逆谐波均值滤波器相当于原图像的Q次幂与滤波掩模

33、的卷积运算结果除以原图像的Q-1次幂与滤波掩模的卷积运算结果。,对应程序如下: w=ones(3,3);q=3; d3=imfilter(g1).q,w,replicate,same); d4=imfilter(g1).(q-1),w,replicate,same);d3=d3./d4; figure; imshow(d2,);执行结果见图5.3(e)。(c) 几何均值滤波器滤波结果 (b) 算术均值滤波器滤波结果 (a)感染均值0,方差0.01高斯噪声 (e) 逆谐波均值滤波器滤波结果 (d) 谐波均值滤波器滤波结果 图5.3感染均值为0,方差为0.01高斯噪声的Lena图片用线性滤波器的操

34、作结果为了配合函数imfilter()的使用,MATLAB还提供了产生线性空间滤波器滤波掩模的函数fspecial(),其调用格式为:w=fspecial(type,parameters);其中,参数type表示滤波器的类型,parameters规定了对应类型滤波器的参数。type可以取以下值:(1)average Average规定产生矩形均值滤波器的滤波掩模,其调用格式为:w=fspecial(average,r,c);结果是产生大小的均值滤波矩阵,如果省略参数r,c,则缺省值为。(2)disk disk规定产生圆形均值滤波器的滤波掩模,其调用格式为:w=fspecial(disk,r);

35、结果是产生半径为的圆形均值滤波掩模,如果省略参数r,,则缺省值为5。(3)gaussian gaussian规定产生gaussian低通滤波器的滤波掩模,其调用格式为:w=fspecial(gaussian,r,c,sig);结果是产生大小为、标准差为sig的gaussian低通滤波器的滤波掩模,如果省略参数r,c,则缺省值为,标准差sig的缺省值0.5。(4)laplacian laplacian规定产生大小为的拉普拉斯滤波掩模,其调用格式为:w=fspecial(laplacian,alpha);结果是产生大小的拉普拉斯滤波矩阵,形状由参量alpha规定,缺省值0.5。拉普拉斯滤波矩阵与参

36、量alpha=的关系是: (5-34)(5)log log规定产生高斯-拉普拉斯滤波矩阵,其调用格式为:w=fspecial(log,r,c,sig);结果是产生大小的高斯-拉普拉斯滤波矩阵,高斯的标准差由参量sig给出,缺省值为0.5,如果省略参数r,c,则缺省值为。(6)prewitt prewitt 规定产生大小的prewitt滤波掩模,其调用格式为:w=fspecial(prewitt);(7)sobel sobel 规定产生大小的sobel滤波掩模,其调用格式为:w=fspecial(sobel);(8)unsharp unsharp 规定产生大小的非锐化滤波掩模,其调用格式为:w=

37、fspecial(unsharp,alpha);其中,参数alpha控制形状,取值为(0,1),缺省值为0.2。(9)motion motion 规定产生一个图像运动滤波器,其调用格式为:w=fspecial(motion,len,theta);其中,参数a len 是运动的像素数,缺省值为9,theta规定运动方向,即与水平方向的夹角,缺省值为0。例5.4 对例5.1中感染高斯噪声的Lena图像利用MATLAB编程应用大小为、方差为0.6的高斯滤波器进行滤波。编程如下: f=imread(E:matlab7lena.bmp); g=rgb2gray(f); g=im2double(f); g

38、1=imnoise(g,gaussian,0,0.01); imshow(g1); w=fspecial(gaussian,5,5,0.6); d=imfilter(g1,w,replicate);figure; imshow(d,);程序的执行结果见图5.4。图5.4感染均值为0,方差为0.01高斯噪声的Lena图片用大小为、方差为0.6的高斯滤波器操作结果2 顺序统计滤波器的MATLAB实现MATLAB用于实现顺序统计滤波器的函数是ordfilt2(),其调用格式为:g=ordfilt2(f,order,domain);其中,参量f为输入图像,order指定了用邻域排序后的第多少位的像素做

39、为输出图像的当前像素,排序的顺序是由小到大的升序。排序的邻域由参量domain给出。domain是取值为0或1,大小为的矩阵,参预排序的像素是在f中,以当前像素为中心,domain矩阵中值为1的对应像素。例如:最小值排序滤波器可以用以下语句实现:g=ordfilt2(f,1,ones(m,n);其中,函数ones(m,n)是产生一个大小的、值为1的矩阵。最大值排序滤波器可以用以下语句实现:g=ordfilt2(f,m*n,ones(m,n);例5.5 对例5.1中感染噪声密度为0.05的椒盐噪声的Lena图像利用MATLAB编程应用各类排序滤波器进行滤波。程序如下:f=imread(E:mat

40、lab7lena.bmp); g=rgb2gray(f); g2=imnoise(g,salt & pepper,0.05); imshow(g2);%最小值排序滤波器 d1=ordfilt2(g2,1,ones(3,3); figure; imshow(d1);%最大值排序滤波器 d2=ordfilt2(g2,3*3,ones(3,3); figure; imshow(d2);%中值滤波器 d3=ordfilt2(g2,median(1:3*3),ones(3,3); figure; imshow(d3);%中点滤波器 f1=ordfilt2(g2,1,ones(3,3),symmetric

41、); f2=ordfilt2(g2,3*3,ones(3,3),symmetric); d4=imlincomb(0.5,f1,0.5,f2); figure; imshow(d4);%d=4的阿尔法均值滤波器g3=im2double(g2); d=4; f1=imfilter(g3,ones(3,3),symmetric); for k=1:d/2f=imsubtract(f1,ordfilt2(g3,k,ones(3,3),symmetric);end d=4; for k=(3*3-(d/2)+1):3*3f=imsubtract(f1,ordfilt2(g3,k,ones(3,3),s

42、ymmetric);end f=f./(3*3-d); figure; imshow(f);(c) 最大值排序滤波器滤波结果(b) 最小值排序滤波器滤波结果(a) 噪声密度为0.05的椒盐噪声 (f) =4的阿尔法均值滤波器滤波结果(e) 中点滤波器滤波结果(d) 中值滤波器滤波结果图5.5感染噪声密度为0.05的椒盐噪声的Lena图像应用各类排序滤波器进行滤波结果程序中函数d4=imlincomb(a,f1,b,f2)是求两幅图像的线性加权和,权因子为a、b,函数imsubtract(f1,f2);是求两幅图像的差。为了使用的方便,MATLAB提供了专门的中值滤波函数medfilt2(),其

43、调用格式为:g=medfilt2(f,m n,padopt);其中,参量f为待滤波图像,m n指定一个大小为的邻域,缺省值为,padopt指定了边界图像的填充模式,zeros用零填充,symmetric以镜像反射方式填充,indexed根据类型进行填充,如果f是double型,以1填充,否则以零填充,缺省为zeros。3 自适应中值滤波器的MATLAB M函数中值与均值滤波器对图像的任何像素执行相同的操作,会损伤图像的细节,自适应中值滤波器是根据图像像素的具体情况,执行不同的操作,对于像素点,直接输出,对于噪声点,则以其窗口的中值代替,而且根据图像的局部情况采取不同大小的滤波窗口。自适应中值滤

44、波器的M函数如下:function f=amedian(g,smax)if(smax1);endm,n=size(g);f=zeros(m,n);ap=false(m,n);for k=3:2:smax zmin=ordfilt2(g,1,ones(k,k),symmetric); zmax=ordfilt2(g,k*k,ones(k,k),symmetric); zmed=medfilt2(g,k k,symmetric); pub=(zmedzmin)&(zmaxzmed)≈ zb=(gzmin)&(zmaxg); opzxy=pub&zb; opzmed=pub&zb; f(opz

45、xy)=g(opzxy); f(opzmed)=zmed(opzmed); ap=ap|pub; if all(ap(:) break; endendf(ap)=zmed(ap);end其中,函数false(m,n);是生成大小为的值为0的矩阵。(g) 图像f的滤噪结果 (f) 噪声密度为0.2的椒盐噪声 (e) 图像c的滤噪结果 (c) 噪声密度为0.1的椒盐噪声 (b) 图像a的滤噪结果 (a) 噪声密度为0.05的椒盐噪声 (m) 图像j的滤噪结果 (k) 图像j的滤噪结果 (i) 图像h的滤噪结果 (l) 噪声密度为0.8的椒盐噪声 (j) 噪声密度为0.7的椒盐噪声 (h) 噪声密度

46、为0.6的椒盐噪声 图5.6感染各种噪声密度的椒盐噪声的Lena图像应用自适中值滤波器滤波结果图5.6给出了感染不同密度椒盐噪声Lena图像应用自适中值滤波器滤波结果,对照图5.6与图5.5,可以看出:在小感染密度下,自适中值滤波器会获得比较好的滤波结果,但随着噪声密度的增加,其滤噪性能会明显下降。5.3图像空间域滤波新方法探索图像滤噪问题仍然是数字图像研究的热点问题之一,空间域滤波方法的现状与研究方法有哪些特点,如何评价图像滤噪方法性能,本节结合两个研究实例进行阐述。5.3.1中值滤波算法的研究中值滤波在低椒盐噪声感染率的情况时具有较好的滤噪能力和计算效率,然而当噪声感染率较高时,中值滤波器

47、的滤波效果明显下降1。因此出现了许多改进型的中值滤波器,如自适应中值滤波器2 、噪声自适应软开关(NASM)3、混合神经模糊滤波器4等被称为开关型的滤波器。这些滤波器的特点是首先对待处理的象素点进行判断,对于噪声点直接以其周围的象素点中值代替,这种方法并没有充分利用图像的局部特征,所以也会造成图像细节和边缘信息的损失,因此出现了一些利用噪声点周围局部特征来估计噪声点所对应象素值的中值滤波算法,如基于直方图的模糊加权滤波器(HFF)5 、中心加权中值滤波器(CWM)6等。此类方法在自适应中值的基础上,根据周围象素点加权求均值得到感染噪声点的输出,也会损失比掩膜更小的细节与边缘信息。为了在滤除噪声

48、的同时,最大限度的保护图像的细节与边缘信息,基于二次噪声检测和细节保护规则函数的图像滤波算法将滤除噪声过程分为两个阶段7:噪声检测和噪声滤除,在噪声检测阶段,算法先通过自适应中值滤波器的原理检测出噪声点和象素点,然后使用模糊函数对噪声点进行二次判断,在噪声替换阶段,针对噪声点自适应地选择其周围最佳的象素点作为细节保护函数的迭代初值。当噪声集合的凸面代价函数值达到最小时得到噪声集合的最佳恢复。1 噪声检测基于二次噪声检测和细节保护规则函数的图像滤波算法噪声检测分为两个步骤,首先采用自适应中值滤波的原理进行第一次检测。令表示大小为,中心点是的窗口,代表最大窗口。对于图像中的每一个像素点作如下操作:

49、 (1) 设置初始值 (2) 计算窗口中像素点灰度值的最大值、最小值、中值 (3) 如果成立,则转到步骤5,否则令 (4) 如果成立,则转到步骤2,否则判断为噪声点 (5) 如果成立,则为像素点,否则判断为噪声点通过算法的原理可以看出有些特殊区域的象素点有可能被误判为噪声点(例如:偏黑区域的黑点或偏白区域上的白点)。为了提高判断的准确度,算法在第一步检测结果的基础上,对噪声点进行二次判断,二次判断根据包含噪声点的检测窗口内未感染噪声的象素点得到模糊隶属度函数,进行模糊判断。假设象素点第一次检测时在窗口大小时被判断为噪声点,那么就通过窗口中的信息点获得局部隶属度函数,进行二次模糊判断。窗口中信息

50、点的均值为: (5-35)其中代表窗口中信息点的个数,代表窗口中的信息点。信息点的方差: (5-36)根据大部分图像局部象素点灰度值分布的特点,本文采用高斯曲线型的隶属度函数,其数学表达式为: (5-37)当二次检测的象素点隶属度函数函数值大于阈值T时,该点二次判断结果是信息点;如果函数值小于阈值T 时,该点二次判断结果为噪声点。因为不同的检测窗口,噪声感染率有差别,当窗口噪声感染率高时,待判断点被感染的可能性就大,可用的信息点就相对减少,这时阈值应该相应变大。相反当窗口噪声感染率小时,阈值应相应变小。所以阈值T的表达式为: (5-38)其中代表大小为的窗口的噪声感染率,并且成立。2基于数据逼

51、近和细节保护规则函数的凸面代价函数与噪声恢复文献8-9中提出被感染脉冲噪声的图像可以通过求解凸面代价函数的最小值进行滤噪,凸面代价函数的形式为: (5-39)其中代表图像中象素点的集合,代表象素点的邻近象素点集合。其中第一部分是数据逼近用来抑制噪声,第二部分为细节保护规则函数根据局部信息恢复噪声点。函数的最小值对应的值应满足对于未感染噪声的像素点,而感染噪声的象素点则通过细节保护函数根据图像局部信息得到输出值。其中细节保护规则函数10-116可以采用: , (5-40), (5-41), (5-42) , (5-43)对于一幅感染脉冲噪声的图像,当图像的代价函数达到最小值时,得到图像的最佳恢复

52、。本文在噪声检测的基础上重新定义凸面代价函数如下: (5-44)其中N代表图像中噪声点的集合。这样既可以降低在计算凸面代价函数最小值的循环过程中的计算量,同时如果噪声检测准确度高,未感染噪声的象素点的值不改变,这样可以获得更好的处理效果。噪声恢复根据式(5-40)所示的凸面代价函数,针对检测阶段检测出的噪声集合,获得函数的最小值就变成了对求最小化的过程: (1) 初始化, (2) 第k次重复过程,对中的每个象素点求 (5-45)其中代表距离最近的四个未感染噪声的象素点的集合。 (3) 如果,则,否则求解方程 (5-46)文献12中证明了收敛于。本文选取为细节保护函数,因为采用牛顿法迭代求解方程

53、(5-41)所以要求细节保护规则函数必须满足收敛性的条件,则函数中参数的取值范围应是。证明如下:函数,则牛顿迭代公式为:如果要使迭代收敛,那么应该成立。则 所以细节保护规则函数中参数的取值范围应为,这样才可以满足使用迭代方法求解方程时迭代收敛的条件。使用牛顿迭代法求解方程时,牛顿法对初始值的选取要求是很高的。一般地说,牛顿法只有局部收敛性,当初始值取得离根太远时,迭代将不收敛,而一旦进入收敛域内,牛顿法就有平方收敛的速度。因此,初始值应选用邻近的未感染噪声点,这样既能防止迭代的发散问题,方程得到的解又可以符合该点的局部特征。3方法性能的仿真实验评价仿真实验的测试图像为Lena与Peppers两幅灰度图像,像素为256256。 在自适应中值原理噪声检测阶段为了能有效地检测出噪声点,最大窗口应随着噪声感染率的增大而相应的增加。对给定的噪声感染率用不同的最大窗口值,针对Lena图像通过实验获得了表5.1所示的对应每个噪声感染率段的最大检测窗口。表5.1 各感染率段的窗口最大值Noise level(%)r2525r4040r6060r7070r8080r8585r90实验中选择,这样对任何噪声感染率的图像都能保证噪声点被检测出来。 文中根据文献10选取凸面目标函数中的参数。细节保护规则函数中的值的选取,根据证明新的参数范围应保证式(5-43)成立,因为在牛顿迭代过程中,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!