噪声去除的中值滤波方法(Noise Reduction Using a Median Filter)
来源:互联网 发布:淘宝店铺认证信息修改 编辑:程序博客网 时间:2024/06/05 06:35
摘 要:本实验主要实现图像的加噪和去噪。模拟数字图像的噪声主要由于噪声广泛存在于图像的产生和传输过程。图像传感器的工作情况受各种因素的影响,如图像的获取中的环境条件和传感器自身的质量。图像在传输过程中主要由于所用的传输信道的干扰而受到噪声污染。在本次实验的加噪过程中使用的是椒盐噪声,有时也被称为脉冲噪声、散粒噪声或尖峰噪声。脉冲噪声主要表现在成像中的短暂停留中,例如错误的开关操作。去噪过程中采用了33中值滤波算法。中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。该方法被广泛使用于各种随机噪声的去除。
一、技术论证
1噪声模型
数字图像的噪声主要来源于图像的产生和传输过程。图像传感器的工作情况受各种因素的影响,如图像的获取中的环境条件和传感器自身的质量。图像在传输过程中主要由于所用的传输信道的干扰而受到噪声污染。
2 椒盐噪声及其概率密度函数
首先定义椒盐噪声的概率密度函数:
对于尺寸为的输入图像,我们假设每个像素点变成胡椒噪声或盐粉噪声的概率分别为和。
噪声脉冲可以是正的,也可以是负的。标定通常是图像数字化过程的一部分。因为脉冲干扰通常与图像信号的强度相比较大,因此在一幅图像中,脉冲噪声总是数字化为最大值(纯白或纯黑)。这样,通常假设a和b为饱和值。从某种意义上看,在数字化图像中,它们等于所允许的最大值和最小值。对于一个8位图像,这意味着a=255(白),a=0(黑)。
在实际处理中,可以生成一个与尺寸为的输入图像相对应的矩阵,该矩阵中每个元素都为0到1之间的随机数,这样可以规定、两个区间内的元素相对应的输入图像的元素分别变成(白)和(黑),在MATLAB中使用find()函数可以找出这些元素的坐标。
图1给出添加了椒盐噪声的图像的直方图,当概率和取值越大,则各像素点取灰度值为0和255的概率越大。
图1椒盐噪声图像及其直方图
3 顺序统计滤波器
由于本实验所用的中值滤波器是顺序统计滤波器中的一种,因此需要介绍一下统计滤波器的相关知识。
顺序统计滤波器这是一种非线性的空间滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序结果决定的值代替中心像素的值。
4 中值滤波器
一个数值集合的中值K是这样的数值,即在数值集合中,有一半小于或等于K,还有一半大于或等于K。对于一幅图像,对某个像素点做中值滤波处理,必须先将掩膜内欲求的像素点及其领域的像素值排序,确定出中值,并将该中值赋予该像素点。例如,对于一个3×3的区域,其中值就是第五个值,而在一个5×5的区域中,中值就是第十三个值。而当一个领域中的所有像素值相同时,它们中的任何一个都可以作为中值。中值滤波器的主要功能是使拥有不同灰度的点看起来更接近于它的临近值,以下给出一个取中值的过程。
5 中值滤波中的排序过程
对于一个3×3的矩阵,需要将其映射到一个一列或一行的矩阵再进行排序,在MATLAB中可以调用reshape(A,m,n)和sort(X)函数,函数的功能如下所示:
reshape(A,m,n) 功能:返回一个m*n的矩阵B,B中元素是按列从A中得到的。
sort(X) 功能:返回对向量X中的元素按列或按行升序排列的新向量。
在调用reshape(A,m,n)时需注意A的表示。当第一个参数为A时表示按照列优先进行排列,若想按矩阵的每一行进行排列,需改为A',如图2所示。
图2 reshape(A,m,n)的不同用法
sort(X)的功能如图3所示。
图3 sort(X)的用法
二、实验结果讨论
编写函数salt_pepper(ima,a,b)产生椒盐噪声,其中ima为输入图像,a,b分别是两个噪声分量的概率值。本实验要求a,b取0.2,即各像素点产生胡椒噪声和盐粉噪声的概率均为20%。
在程序中通过定义两个区间,当随机矩阵A中元素值在0到a区间时判定为胡椒微粒,在(1-b)到1区间时判定为盐粉微粒,并使用find()函数求出这些元素的位置,映射到原图像ima上,输出带有椒盐噪声的图像imt,图4给出a,b取不同值时的加噪图像的效果图。
图4 a,b取不同值时的加噪图像效果图
对比图4中的噪声图像易知,当a和b的取值越大,图像上叠加的胡椒和盐粉噪声越多,在实际使用中可以根据需要调整a和b的取值。当a和b取值过大,图像的有用信号将被淹没在噪声信号中。
下面验证中值滤波法滤除椒盐噪声的效果,噪声系数为0.2。
由图5所示,对加噪图像进行一次3×3中值滤波处理后,噪点明显减少,且图像能保留大部分的细节,但噪声污染依然严重,因此验证对图像进行多次中值滤波的可行性。而从图6可以看出,多次中值滤波可以有效滤除椒盐噪声点,图像经过多次滤波后效果越来越好。
像素点原始值包含在中值的计算结果中,中值滤波器的应用也非常普遍。对于很多种随机噪声,它都有良好的去噪能力,而且在相同尺寸下比起线性平滑滤波器引起的模糊较少。正如本实验输出图像所示,中值滤波器对椒盐噪声干扰的图像有非常好的处理效果。
但是,中值滤波存在一个无法解决的问题:图像的边缘部分噪声无法滤除。对于尺寸为M×N的图像,中值滤波算法只作用于[2,M-1]和[2,N-1]区间的像素点,而无法改善边缘一圈的像素点。
三、实验结果图片
本实验使用冈萨雷斯主编数字图像处理第三版中的素材Fig5.07(a).jpg进行加噪处理,并对噪声图像进行中值滤波,验证中值滤波法的有效性。
图5对加噪图像进行一次3×3中值滤波的效果
图6对加噪图像进行多次中值滤波
下面给出简单的MATLAB代码:
- 噪声去除的中值滤波方法(Noise Reduction Using a Median Filter)
- Noise Reduction Using a Median Filter(噪声去除的中值滤波方法)
- 数字图像处理实验(11):PROJECT 05-02,Noise Reduction Using a Median Filter
- 中值滤波(Median Filter)
- 数字图像处理实验(12):PROJECT 05-03,Periodic Noise Reduction Using a Notch Filter
- 去除噪声(中值滤波法)(C语言程序)
- 中值滤波Median filtering
- 中值滤波与椒盐噪声
- 均值滤波、中值滤波、维纳滤波 对 高斯噪声、椒盐噪声、乘性噪声 的处理效果
- 基于matlab的图像处理——高斯噪声&均值滤波,椒盐噪声&中值滤波
- 椒盐噪声的图片 利用中值滤波效果好
- median _matlab 中值滤波函数
- 图像噪声的抑制——均值滤波、中值滤波、对称均值滤波
- 图像噪声的抑制——均值滤波、中值滤波、对称均值滤波
- 图像噪声的抑制——均值滤波、中值滤波、对称均值滤波
- 椒盐噪声 中值滤波 高斯噪声 均值滤波
- 高斯(Gaussian)滤波、中值(Median)滤波与双边(Bilateral)滤波的特点
- 椒盐噪声及中值滤波处理
- multi update only works with $ operators
- mysql中limit的优化
- 流行浏览器内核分类及不同版本的样式区别
- java自定义注解及注解使用(注解学习一)
- 插入排序
- 噪声去除的中值滤波方法(Noise Reduction Using a Median Filter)
- 远程执行QTP测试任务
- Sencha学习笔记4: Creating your First App - 官方创建您的第一个Sencha Touch应用指导
- eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法
- Android学习(19)-获取位置信息
- 突破IBM ThankPad只能做一次恢复介质
- C++读写注册表
- libjingle p2p穿越初读心得
- Hive几种数据导出方式