中值滤波

合集下载

中值滤波

中值滤波
(1)绝对阻止噪声峰值。 (2)有效抑制随噪。 (3)在非平稳信号的处理中取得了较大成功。 (4)引入假高频成分,且各频段的振幅值发生了变化。 (5)会引发信号的畸变 ,所以当地震资料进行中值滤 波时,最好做一次低通滤波,以消除这些假高频的影响。 (6)中值滤波实际上是一个平滑滤波,经过其处理之后, 主频向低频移动,高频成分受到损害,正是由于其平滑作 用,使处理后的地震数据波形过于一致而显呆板,有一些 信息不可能客观反映出来。 (7)中值滤波的一个严重不足是引起相对滤波窗口而言 较为“细小”的信号细节结构的破坏和丢失。
12
改进:多级中值滤波
兼有细节保护和噪声抑制 。 长度较小的窗口能够较好地保护信号的细节信息, 但却不能有效地滤除随机噪声。 而长度较大的滑动窗口能更好地抑制噪声,同时 却严重地损失重要信息。 根据噪声性质自动改变滤波窗口长度的滑动加权 中值滤波器,更好地适应去噪的需求。
13

谢 谢 观 赏
14
中值滤波
1
中值滤波
1.中值滤波的简介 2.中值滤波的原理及应用 3.中值滤波的特点
2
1.中值滤波的简介
3
1.提出
1971年 J.W.Tukey提出中值滤 波 ,对尖脉冲的良好抑制能力。
2.线性滤 波到非线 性滤波
克服线性滤波的局限性 :处理 图像时,线性滤波将破坏边缘, 不能有效滤除脉冲噪声 。 滤除噪声的同时会使信号中重 要的细节信息受损。
4
3.普通中值 滤波到改进 的中值滤波
2.中值滤波的原理及应用
5
一般中值滤波 设有一个序列 :x1, x2, x3, x4, x5,将它们按照绝对值 大小重新排列此序列: x3,x5,x2,x4,x1.中值是x2,此值就 作为滤波的输出 。

中值滤波和均值滤波计算例题

中值滤波和均值滤波计算例题

中值滤波和均值滤波计算例题中值滤波和均值滤波是常用的图像处理方法,用于去除图像中的噪声。

下面我将分别给出中值滤波和均值滤波的计算例题。

1. 中值滤波计算例题:假设有一个3x3的图像矩阵如下所示:[10, 20, 30][15, 25, 35][12, 22, 32]我们将对该图像进行中值滤波,即将每个像素的值替换为其周围像素的中值。

首先,我们选取左上角的像素10,将其周围像素的值按升序排列为:[10, 12, 15, 20, 22, 25]中值为20,因此将10替换为20。

接下来,我们继续对其他像素进行同样的操作:20的周围像素值为[10, 12, 15, 22, 25, 30, 32, 35],中值为22。

30的周围像素值为[20, 22, 25, 32, 35],中值为25。

15的周围像素值为[10, 12, 20, 22, 25, 35],中值为20。

25的周围像素值为[15, 20, 22, 30, 32],中值为22。

35的周围像素值为[22, 25, 32],中值为25。

12的周围像素值为[10, 15, 20, 22, 30],中值为20。

22的周围像素值为[10, 12, 15, 20, 25, 30, 32, 35],中值为22。

32的周围像素值为[22, 25, 30, 35],中值为27。

最终,经过中值滤波后的图像矩阵为:[20, 22, 25][20, 22, 25][20, 22, 27]2. 均值滤波计算例题:假设有一个3x3的图像矩阵如下所示:[10, 20, 30][15, 25, 35][12, 22, 32]我们将对该图像进行均值滤波,即将每个像素的值替换为其周围像素的平均值。

首先,我们选取左上角的像素10,将其周围像素的值相加并求平均值:(10 + 20 + 15 + 25) / 4 = 17.5,因此将10替换为17.5。

接下来,我们继续对其他像素进行同样的操作:20的周围像素值相加并求平均值为 (10 + 20 + 15 + 25 + 30 + 12 + 22 + 15) / 8 = 18.125。

图像处理-中值滤波

图像处理-中值滤波

图像处理-中值滤波1、滤波滤波(Wave filtering)是将信号中特定波段频率滤除的操作,是抑制和防⽌⼲扰的⼀项重要措施。

在图像处理中,滤波是图像预处理的⼀种。

图像处理中滤波将信号中特定的波段频率滤除,从⽽保留所需要的波段频率信号。

2、滤波的作⽤(1)消除图像中混⼊的噪声对应的是低通滤波,噪声在图像中⼀般是⾼频信号。

(2)为图像识别抽取出图像特征这⾥的特征⼀般为边缘纹理的特征,对应的是⾼通滤波,图像中边缘和纹理细节是⾼频信号。

3、滤波的分类图像中滤波算法的分类有很多,可以分为线性滤波和⾮线性滤波,可以分为相关滤波和卷积滤波,还可以分为⾼通滤波和低通滤波,空间滤波和频域滤波。

3.1线性滤波⽤于时变输⼊信号的线性运算,在图像处理中可以这么理解,对于输⼊的信号(即要处理的图像),进⾏的是线性的运算,得出的结果作为输出图像。

线性滤波的包含⽅框滤波、均值滤波、⾼斯滤波、拉普拉斯滤波、sobel算⼦等。

3.2⾮线性滤波输出的信号响应是由输⼊经过⾮线性的运算得到的。

⽐如典型的中值滤波,就是取像素点邻域的中值作为像素的的响应输出。

⾮线性滤波包含中值滤波和双边滤波4、中值滤波中值滤波是基于排序统计理论的⼀种能有效抑制噪声的⾮线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中⼀点的值⽤该点的⼀个邻域中各点值的中值代替,让周围的像素值接近的真实值,从⽽消除孤⽴的噪声点。

⽅法是⽤某种结构的⼆维滑动模板,将板内像素按照像素值的⼤⼩进⾏排序,⽣成单调上升(或下降)的为⼆维数据序列。

⼆维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。

W为⼆维模板,通常为3x3,5x5区域,也可以是不同的的形状,如线状,圆形,⼗字形,圆环形等。

原理图解释:456827569g(x,y)=med{f(x-k,y-l),(k,l∈W)}g =med[4,5,6;8,2,7;5,6,9] = 62、4、5、5、6、6、7、8、9中间的值为66MATLAB程序clcclearclear allclose all%%%对图像做中值滤波处理img = imread('1.png');figure(1)subplot(2,2,1),imshow(img),title('原始图像')%%%将彩⾊图像转灰度图像img_gray = rgb2gray(img);subplot(2,2,2),imshow(img_gray),title('RGB-GRAY灰度图像')%%%加⼊椒盐噪声img_salt=imnoise(img_gray,'salt & pepper',0.3);subplot(2,2,3),imshow(img_salt),title('加⼊椒盐噪声后')%%%系统⾃带的中值滤波系统⾃带的中值滤波输⼊参数为2维图像img_mid=medfilt2(img_salt,[33]);subplot(2,2,4),imshow(img_mid),title('对噪声图像中值滤波后');%%%对彩⾊图像滤波figure(2)subplot(2,2,1),imshow(img),title('原始图像')img_salt=imnoise(img,'salt & pepper',0.3);subplot(2,2,2),imshow(img_salt),title('加⼊椒盐噪声后')img_rgb = img;img_rgb(:,:,1) = medfilt2(img(:,:,1),[33]);img_rgb(:,:,2) = medfilt2(img(:,:,2),[33]);img_rgb(:,:,3) = medfilt2(img(:,:,3),[33]);subplot(2,2,3),imshow(img_rgb),title('加⼊中值滤波后')⾃定义的函数function [ img ] = median_filter( image, m )%----------------------------------------------%中值滤波%输⼊:%image:原图%m:模板的⼤⼩3*3的模板,m=3%输出:%img:中值滤波处理后的图像%----------------------------------------------n = m;[ height, width ] = size(image);x1 = double(image);x2 = x1;for i = 1: height-n+1for j = 1:width-n+1mb = x1( i:(i+n-1), j:(j+n-1) );%获取图像中n*n的矩阵mb = mb(:);%将mb变成向量化,变成⼀个列向量mm = median(mb);%取中间值x2( i+(n-1)/2, j+(n-1)/2 ) = mm;endendimg = uint8(x2);endimg_mid_salt = median_filter( img, 3 );subplot(2,2,4),imshow(img_mid_salt),title('⾃定义中值滤波后')还有⼀种计算中值的⽅法,适合在硬件上实现当我们使⽤3x3窗⼝后获取领域中的9个像素,就需要对9个像素值进⾏排序,为了提⾼排序效率,排序算法思想如图所⽰。

中值滤波与均值滤波

中值滤波与均值滤波

06
中值滤波与均值滤波的优缺点 分析
中值滤波的优缺点分析
在此添加您的文本17字
优点
在此添加您的文本16字
能够有效去除椒盐噪声:中值滤波对于去除由异常值引起 的椒盐噪声非常有效,因为它会将异常值视为非正常值而 进行替换。
在此添加您的文本16字
保护边缘信息:与均值滤波相比,中值滤波在处理过程中 更不容易模糊图像的边缘信息。
分治算法实现中值滤波
总结词
时间复杂度较低,适用于较大数据量
详细描述
分治算法实现中值滤波的基本思路是将待处理的像素点及其邻域内的像素值分为两个子集,分别计算子集的中值, 然后将两个子集的中值进行比较,选取较小的一个作为输出。这种方法能够显著降低时间复杂度,提高处理效率, 适用于大规模数据量。
并行算法实现中值滤波
在此添加您的文本16字
缺点
在此添加您的文本16字
处理速度相对较慢:中值滤波需要将像素点与邻近像素点 进行排序,因此处理速度相对较慢,尤其是在处理大图像 时。
在此添加您的文本16字
对非椒盐噪声效果有限:中值滤波对于非椒盐噪声的处理 效果可能不如其他滤波器。
均值滤波的优缺点分析
优点
对均匀区域平滑效果好:均值滤波器能够有效地平滑图 像中的均匀区域,减少图像中的细节。
迭代法实现均值滤波
要点一
总结词
迭代法是一种通过不断迭代更新像素值来实现均值滤波的 方法。
要点二
详细描述
迭代法的基本思想是通过不断迭代更新图像中每个像素的 值来实现均值滤波。具体实现时,通常先对图像进行一次 初步的滤波处理,然后根据滤波后的图像和原始图像之间 的差异,不断迭代更新像素值,直到达到预设的迭代次数 或迭代精度要求。迭代法能够更好地处理图像中的细节和 噪声,但计算复杂度较高,需要更多的计算资源和时间。

中值滤波的名词解释

中值滤波的名词解释

中值滤波的名词解释在数字图像处理领域,中值滤波是一种经典的非线性滤波方法。

它的原理是通过统计图像中每个像素周围邻域内像素灰度值的中间值,将该中间值作为该像素的新灰度值,从而达到减少图像噪声和平滑图像的目的。

1. 中值滤波的背景和动机在图像获取或传输过程中,由于环境灯光、传感器噪声等因素,图像中可能会出现各种类型的噪声,如椒盐噪声、高斯噪声等。

这些噪声会严重影响图像的质量和可视化效果,甚至会干扰后续的图像处理和分析。

因此,对于数字图像的处理与分析来说,去噪是一个重要的预处理步骤。

中值滤波作为一种常用的去噪方法,因其简单、高效和较好的抗噪能力,被广泛应用于各种领域。

2. 中值滤波的原理和过程中值滤波的基本原理是基于排序统计的思想。

对于输入图像的每个像素,先定义一个邻域大小(常见的有3×3、5×5等),然后将该像素周围邻域内的所有像素按照灰度值大小进行排序。

接下来,将排序后的像素值组成一个序列,选择序列中的中间值作为该像素的新灰度值。

3. 中值滤波的优点和缺点中值滤波作为一种非线性滤波方法,具有以下几个优点:(1)对于椒盐噪声和脉冲噪声有较好的去噪效果,能够有效消除极值噪声;(2)在滤波过程中不会对图像的边缘和细节造成模糊效果,保持图像的清晰度;(3)计算简单、速度快,适用于实时图像处理和实时视频处理等领域。

然而,中值滤波也存在一些缺点:(1)对于高斯噪声等其他类型的噪声,去噪效果相对较差,可能会造成图像细节的模糊;(2)邻域大小的选择会影响滤波效果,如果邻域过大,可能会使图像部分细节丢失;(3)存在计算复杂度较高的问题,尤其是对于大尺寸的图像和多通道图像处理。

4. 中值滤波在实际应用中的案例中值滤波在图像处理领域有着广泛的应用,下面列举几个常见的案例:(1)数字相机中的图像去噪:在相机拍摄的图像中,可能会存在各种类型的噪声,使用中值滤波可以去除其中的椒盐噪声和脉冲噪声,提高图像质量。

中值滤波参数

中值滤波参数

中值滤波参数摘要:I.引言- 介绍中值滤波的背景和应用场景II.中值滤波的原理- 解释中值滤波的基本原理- 描述中值滤波如何去除噪声III.中值滤波的参数- 解释中值滤波参数的含义- 说明如何选择合适的参数IV.中值滤波参数的实例- 提供一个中值滤波参数选择的实例- 解释实例中如何使用不同的参数得到不同的结果V.结论- 总结中值滤波参数的重要性- 重申中值滤波在图像处理中的应用正文:I.引言中值滤波是一种非线性平滑技术,它在图像处理中被广泛应用,主要用于去除图像中的噪声。

中值滤波通过将图像中每个像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值,从而实现噪声的抑制。

在实际应用中,为了获得更好的滤波效果,需要根据图像的特性和噪声类型选择合适的参数。

本文将详细介绍中值滤波的参数及其选择方法。

II.中值滤波的原理中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。

基本原理是将数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,从而使图像中的噪声减小。

中值滤波可以应用于图像的预处理、增强和边缘检测等领域。

III.中值滤波的参数中值滤波的主要参数包括邻域窗口大小(或称为核大小)、滤波次数和是否使用双阈值等。

邻域窗口大小决定了在处理过程中考虑的邻域范围,较大的窗口可以保留更多的图像细节,但同时也会降低滤波效果。

滤波次数决定了中值滤波处理的次数,增加滤波次数可以提高滤波效果,但同时也会增加计算复杂度。

双阈值参数用于处理具有不同灰度分布的图像,可以提高滤波效果。

IV.中值滤波参数的实例以下是一个中值滤波参数选择的实例。

假设我们有一幅图像,其中包含大量的噪声。

首先,我们需要选择合适的邻域窗口大小。

如果窗口过大,可能会导致图像细节丢失;如果窗口过小,滤波效果可能不明显。

经过多次尝试,我们选择了一个适中的窗口大小。

接下来,我们需要确定滤波次数。

通过增加滤波次数,我们可以看到噪声逐渐减少,但同时计算复杂度也会增加。

中值滤波的原理

中值滤波的原理

中值滤波的原理
中值滤波是一种数字图像处理方法,可用于减少图像中的噪声。

它的原理是通过将每个像素的灰度值替换为其周围像素灰度值的中值来消除图像中的离群点或噪声。

中值滤波的步骤如下:
1. 定义一个滤波器的大小(通常为奇数),例如3x3、5x5等。

2. 将滤波器放置在图像的像素上。

以当前像素为中心,在滤波器的范围内取出所有像素的灰度值。

3. 对这些灰度值进行排序,找到中间值。

4. 将中间值作为当前像素的新灰度值,用于替换原来的灰度值。

5. 重复步骤2到步骤4,直到处理完图像中的所有像素。

中值滤波的核心思想是根据像素周围的灰度值,选择一个对整体影响较小的灰度值作为输出。

这是因为在噪声中存在亮度或颜色偏离正常值的离群点,这些离群点对图像质量有较大的负面影响。

通过选择中值作为输出值,中值滤波能够有效地消除这些离群点,从而得到平滑且较少受噪声干扰的图像。

需要注意的是,中值滤波在某些情况下可能会导致图像模糊或细节丢失。

因此,在应用中值滤波之前,需要根据图像的特点和需求进行合理选择和调整滤波器的大小。

中值滤波

中值滤波
一维中值滤波的原理
图2-1 一维序列的中值滤波示例
(a)阶跃图像的输入与输出
(b)脉冲图像的输入与输出
(c)斜坡图像的输入与输出
(d)三角形图像的输入与输出
二维中值滤波的原理
我们所处理的数字图像都是二维的数字图像,假设二维数字 图像{Xi,j}经过中值滤波以后的结果为
在实际应用二维滤波窗口时,为了得到清晰的图像,滤 波窗口的尺寸一般从小到大进行选取,合适即可,一般先 使用3x3的格式,如果效果不理想,再取5x5进行增大,直 到达到满意效果为止。我们应该根据图像的不同内容来选 择不同的滤波模板,也就是采用不同的窗口形状和尺寸, 对于一个模板,我们常见的窗口形状主要有:方形,菱形, 十字形,X子形,以及米字型。
中值滤波概述
什么是中值滤波
中值滤波,就是把数字图像中一点的值用该点的一个邻 域中各点值的中值代替。中值滤波是属于非线性的平滑滤 波技术的一种。由于它在实际运算中只需通过从图像中的 某个采样窗口取出奇数个数据进行排序,并不需要对图像 的点进行统计,所以思路比较简单,构造算法比较明了。
传统中值滤波的原理
MRI原图
椒盐噪声
第一次滤波
第二次滤波
第三次滤波
第四次滤波
图2-2 5x5的二维中值滤波常见滤波窗口形状
(a)方形
(b)菱形
(c)十的特性
经典中值滤波算法
经典中值滤波在MATLAB中实现的代码
clear all;close all; I=imread('8.jpg'); A=rgb2gray(I); figure; title('original'); imshow(A); B=imnoise(A,'salt & pepper',0.5); figure; title('椒盐噪声'); >> imshow(B); >> C=medfilt2(B,[3 3]); >> figure; >> title('3*3'); >> imshow(C); >> D=medfilt2(C,[3 3]); >> figure; >> title('2.3*3'); >> imshow(D);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机械与电子工程学院信号分析与处理课程设计报告题目:图像信号的中值滤波题号:1-14小组成员:赵鑫、陈超、尹庆宇班级:15电科1班字数:4040完成日期:2018年6月29日目录1引言 (1)1.1设计目的 (1)1.2章节组织 (1)2设计原理 (1)2.1中值滤波的基本原理 (1)2.2中值滤波的特点 (2)2.2.1对某些输入信号中值滤波的不变性 (2)2.2.2中值滤波去噪声性能 (2)2.2.3中值滤波的频谱特性 (2)3设计内容 (2)3.1中值滤波算法分析 (2)3.2中值滤波在图像处理中的MATLAB实现 (3)4设计结果分析 (5)4.1中值滤波与均值滤波的比较 (5)4.2中值滤波与均值滤波的进一步讨论 (6)4.2.1中值滤波输出方差 (6)4.2.2均值滤波输出方差 (8)4.3结果分析 (8)5总结 (8)6参考文献 (9)1引言1.1设计目的1.熟悉MA TLAB的使用方法包括函数、原理和方法的应用。

2.增强在通信系统设计方面的动手能力与自学能力。

3.进一步熟悉图像中值滤波的原理和方法。

4.比较中值滤波同其它滤波的实现效果1.2章节组织报告共分六章。

第一章为引言,主要介绍本课程的设计目的;第二章为设计原理,给出了图像的中值滤波的基本原理;第三章为设计内容,给出了中值滤波的算法实现;第四章为设计结果分析,比较中值滤波同其它滤波的实现效果;第五章为总结,对报告的要点进行了总结;第六章为参考文献,给出了报告的主要参考资料。

2设计原理2.1中值滤波的基本原理中值滤波是一种比较常见的非线性信号处理技术,它以排序理论为基础,能够有效地抑制噪声。

这种领域运算和卷积类似,它主要是排序领域中的像素,接下来再选择排序后的数据组中的中间值作为最终输出的像素值。

其基本原理为:首先针对以一个像素为中心点的具体领域进行研究,领域也被称为窗口,可以是方形,十字形,圆形或其他类似的形状,然后对领域中的每个像素值按照灰度值的大小进行排序,最后再将这组数的中值作为中心点像素灰度的真值进行输出。

序列中值的具体定义如下:若x1,x2,…,xn为一组序列,先把这组序列按大小排序为xi1≤xi2≤xi3…≤xin,则该序列的中值y为实现时一般取一长度为L=2n+1的滤波窗口,n为正整数。

将窗口在数据上滑动,中值滤波输出就是窗口正中所对的像素值用窗口内各像素的中值代替,即:}xxmed{x=y n+iin-iiΛΛ从上述定义中可以看出,由于叠加原理已不再成立,故中值滤波器是一种非线性滤波器,且中值滤波可以保持信号边缘,使其不被模糊,当窗口的宽度为2n+1时,信号序列中宽度不大于n的脉冲便会被中值滤波清除。

2.2中值滤波的特点2.2.1对某些输入信号中值滤波的不变性对某些特定的输入信号,如在窗口2n + 1 内单调增加或单调减少的序列,中值滤波输出信号仍保持输入信号不变,利用这个特点,可以使中值滤波既能去除图像中的噪声,又能保持图像中一些物体的边缘。

2.2.2中值滤波去噪声性能中值滤波是非线性运算,因此对于随机性质的噪声输入,数学分析是相当复杂的。

由大量实验可得,对于零均值正态分布的噪声输入,中值滤波输出与输入噪声的密度分布有关,输出噪声方差与输入噪声密度函数的平方成反比。

对随机噪声的抑制能力,中值滤波性能要比平均值滤波差些。

但对于脉冲干扰来讲,特别是脉冲宽度小于m/2,相距较远的窄脉冲,中值滤波是很有效的。

2.2.3中值滤波的频谱特性由于中值滤波是非线性运算,输入和输出之间在频率上不存在一一对应关系。

故不能用一般线性滤波器频率特性的研究方法。

为了能够直观地定性地看出中值滤波输入和输出频谱变化情况,我们采用总体试验观察方法。

设G 为输入信号频谱,F 为输出信号频谱,定义:H = |G/F|实验表明,H 是与G 有关的,呈不规则波动不大的曲线。

因此,中值滤波频谱特性H 起伏不大,其均值比较平坦,可以认为信号经中值滤波后,频谱基本不变,这点认识对从事设计和使用中植滤波器的工作是很有意义的。

3设计内容3.1中值滤波算法分析中值滤波算法的核心是排序,排序算法的优劣直接决定求中值的效率,从而决定中值滤波器的整体性能。

若中值滤波算法中排序模块使用软件思想中的冒泡排序算法,对滤波窗口中的相邻像素作二值比较排序,则n×n滤波窗口的算法复杂度为n2×(n2-1)/2,算法复杂度为O(n4),常用的3×3滤波窗口需要排序次数36次,一张分辨率为256×256的图片,需要处理65536个像素,每个像素经过3×3滤波窗口都要进行36次排序,总共需要的排序次数为2359296次。

针对冒泡排序算法排序数量大的缺点,文献[2]中在冒泡排序的基础上提出了一种改进的中值滤波算法,能大幅降低滤波窗口求中值的排序次数。

以滤波窗口为例,分析说明这种改进的中值滤波算法求取中值的过程。

对于3×3滤波窗口,假设滤波前的窗口数据为W,每列升序排序后的窗口为W',每行升序排序后的窗口为W''。

滤波前的窗口W,对每列按升序排序,第一列的最大值w'11=Max1=Max{w11,w21,w31},第一列的中值为w'21=Med1=Med{w11,w21,w31},第一列的最小值为w'31=Min1=Min{w11,w21,w31};依此类推第二列的最大值为w'12=Max2=Max{w12,w22,w32};第二列中值为w'22=Med2=Med{w12,w22,w32};第二列最小值为w'32=Min2=Min{w12,w22,w32};第三列的最大值为w'13=Max3=Max{w13,w23,w33};第三列中值为w'23=Med3=Med{w13,w23,w33};第三列最小值为w'33=Min3=Min{w13,w23,w33}。

同理,对W'的窗口元素每行按升序排序后得到W'',则最后的滤波结果result=Med{w''13,w''23,w''33}。

每列排序需要3次,每行排序需要3次,3行3列排序次数为3×3×2=18次,最后求窗口对角线元素中值也需要3次排序,所以总共需要的排序次数为21次,与采用冒泡排序的中值滤波算法相比,改进的中值滤波算法排序次数降低了42%。

3.2中值滤波在图像处理中的MATLAB实现源程序如下:I=imread('D:\myimages\chost.jpg');%从D 盘名为myimages 的文件夹中读取。

格式为jpg 的图像文件chostJ=imnoise(I,'salt & pepper',0.02);%给图像加入均值为0,方差为0.02 的淑盐噪声subplot(2,4,1);imshow(I);title('原始图像');subplot(2,4,2);imshow(J);title('加入椒盐噪声之后的图像');%h=ones(3,3)/9; %产生3 × 3 的全1 数组%B=conv2(J,h); %卷积运算%采用MATLAB 中的函数对噪声干扰的图像进行滤波Q=wiener2(J,[3 3]); %对加噪图像进行二维自适应维纳滤波P=filter2(fspecial('average',3),J)/255; %均值滤波模板尺寸为3 K1=medfilt2(J,[3 3]); %进行3 × 3 模板的中值滤波K2= medfilt2(J,[5 5]); %进行5 × 5 模板的中值滤波K3= medfilt2(J,[7 7]); %进行7 × 7 模板的中值滤波K4= medfilt2(J,[9 9]); %进行9 × 9 模板的中值滤波%显示滤波后的图像及标题subplot(2,4,3);imshow(Q);title('3 × 3 模板维纳滤波后的图像');subplot(2,4,4);imshow(P);title('3 × 3 模板均值滤波后的图像');subplot(2,4,5);imshow(K1);title('3 × 3 模板的中值滤波的图像');subplot(2,4,6);imshow(K2);title('5 × 5 模板的中值滤波的图像');subplot(2,4, 7);imshow(K3);title('7 × 7 模板的中值滤波的图像');subplot(2,4,8);imshow(K4);title('9 × 9 模板的中值滤波的图像');得到图像结果如图1 所示图 1. 滤波效果对比图4设计结果分析4.1中值滤波与均值滤波的比较均值滤波可归结为矩形窗加权的有限冲激响应线性滤波器, 它的幅度特性的“主瓣”对应频率范围为(-2π, 2π)的区域(其中N 为矩形窗的窗口长度, 也即滤波窗口内的象素数目),第一个“旁瓣”比主峰低13 分贝.因此, 均值滤波相当于低通滤波器, 截止频率与N 成反比〔4〕.但不管N 怎么选取, 均值滤波的这种低通性能在平滑噪声的同时, 必定也会模糊信号的细节和边缘.中值滤波正是在这方面有着优越性能.中值滤波的定义在很多文献里都可找到〔1 , 2〕.这里不加证明给出中值滤波的主要性能.1)非线性滤波.由于叠加原理此时不再成立, 因此中值滤波是一种非线性滤波.2)保边缘性.设输入信号的某个区域可分为两个连续的小区域, 每个小区域的灰度值各为一常数.两个小区域的分界点称为边缘.即边缘是那么一些点的集合, 它的任何邻域包含这两个小区域的象素.中值滤波在边缘点上的输出不变.3)消除脉冲噪声.设在一常数邻域里有脉冲噪声, 脉冲噪声的面积定义为滤滤窗口内被噪声污染的象素的个数, 则当脉冲噪声的面积小于N/2 时, 中值滤波将消除这种脉冲型干扰,输出值为窗口内原图像邻域的常数值.4)当窗口内各象素值经过排序后成为一单调递增序列时, 中值滤波的输出值不会是这个序列的最小值和最大值.5)均值滤波平滑高斯白噪声的能力优于中值滤波6)根据次序统计量有关分布函数和分布密度的结论 , 设母体 X 的密度函数为fX(x),分布函数为 FX (x), 窗口内各象素的值从小到大排序为(X(1), X (2)… X(N))=Y 1 , Y 2 , …Y N), 则中值 Y 的密度函数为[][])()(1)()!21(!)(21212y f y F y F N N y f X N X N X Y ---⎥⎦⎤⎢⎣⎡-=(4) 4.2中值滤波与均值滤波的进一步讨论4.2.1中值滤波输出方差根据式(3), 对于上述的噪声模型, 样本母体 X 的概率密度函数为)(π222x exp 2)()1()(σσδ-+-=Pe x Pe x f X(5) 则由式(4), N 点中值输出Y 的概率密度函数为[])(y 1)()!21(!)(212y f F y F N N y f X N X X Y --⎥⎦⎤⎢⎣⎡-=)(((6) 其中 ⎰∞y-X )(=(y)F dx x f X输出方差 ⎰∞∞-=dy y f y Y )(2med 2σ(7) 4.2.2 均值滤波输出方差由于窗口内样本独立, 则噪声的 N 维概率密度函数为∏=⎥⎦⎤⎢⎣⎡-+-=⋅⋅⋅Ni i e i e N N x P x P x x x f 1222exp 2)()1(),2,1()(πσσδ(8)令⎪⎪⎪⎩⎪⎪⎪⎨⎧==+⋅⋅⋅+=NN N x y x y N x x x y 22211 即⎪⎪⎩⎪⎪⎨⎧==-⋅⋅⋅--=NN N y x y x y y Ny x 22211 则随机变量 Y 1 , Y 2 , …Y N 的联合分布密度变函数为 ),,,(),,,(2121N N N N x x x f J y y y f =其中 |J| 为雅可比行列式, N y y y x x x J N =∂∂=),,,(,,,(21N 21 ) 所以∏=⎥⎦⎤⎢⎣⎡-+-=⋅⋅⋅N i i e i e N N x P x P N y y y f 1222exp 2)()1(),2,1()(πσσδ =⎥⎥⎦⎤⎢⎢⎣⎡+--------221221e e 21σσδ)(π)()(N y y Ny e N P y y Ny P N [])(π)()(22i2i e i e 2y exp 21σσδ-+-∏=N P y P Y 1 的概率密度函数 ⎰⎰∞∞-∞∞-=),,,()(21211N N N Y y y y f dy dy y f 并由此可推导出∑=---+-=N k k y N kN e k e k N N e Y e k N P P C y P y f 12112222)1()()1()(σσδπ (9) ⎰∞∞-==NP dy y f y e Y )(1mean 22σ\ (10) 取б=1 , N =5 , 当输入噪声为前述的噪声模型时, 根据式(7),(8), (9), 利用数值积分, 得到输出方差与Pe 的关系曲线如图1.可以看出, 均值滤波输出方差随着 Pe 的增大而线性增长.当 Pe =1 即输入为高斯分布的白噪声时, 均值滤波输出方差为0 .2(即1/ N).中值滤波输出方差在 Pe 较小时增长很慢, 去噪声能力优于均值滤波.当 Pe >0 .5 以后, 方差增长速度加快.至Pe =0 .79 时, 两条曲线相交, 两者的去噪能力相当.当 Pe >0 .79 以后, 中值滤波输出方差大于均值滤波输出方差, 即均值滤波去噪能力优于中值滤波.4.3结果分析以LENNA 图像为例, 噪声 n 为均值为0 方差为672 的高斯分布的白噪声.当 Pe =0 .1 , 0 .2 , 0 .4 , 0 .6 , 0 .8 , 1 .0 时中值滤波与均值滤波的输出图像信噪比示于附表(斜线后的值为信噪比改善).部分输入和输出图像见图2.(a) LEN NA 原图像 (b) 噪声图像Pe =0.2 (c) 噪声图像Pe =0.8 (c) 噪声图像Pe =1.0 (e) (b)的中值滤波输出(f) (b)的均值滤波输出 (g) (c)的中值滤波输出 (h)(c)均值滤波输出 (i)(d)中值滤波输出 (j) (d)的均值滤波输出图 2 部分实验图像从表中可以看出, 当 Pe 值较小时, 中值滤波输出信噪比明显高于均值滤波输出;当 Pe 逐渐增大时, 噪声图像信噪比下降, 两者输出图像信噪比的改善值也逐渐增大, 但均值滤波输出信噪比的改善值增长幅度大.当 Pe =0 .8 时, 均值滤波输出信噪比略大于中值滤波输出信噪比, 平滑噪声的能力接近.而当 Pe =1 即噪声污染是高斯分布的白噪声时, 均值滤波输出信噪比明显高于中值滤波输出信噪比.实验结果与前面的理论分析结果是吻合的 5总结本文在对经典中值滤波原理研究的基础上,利用MATLAB 软件进行仿真实践,并将中值滤波与均值滤波进行实验对比,更确切的了解到了中值滤波在图像降噪应用上的优缺点。

相关文档
最新文档