中值滤波和均值滤波共34页文档
实验三 均值滤波和中值滤波
实验三图像滤波实验3.13*3均值滤波一.实验目的1.熟悉MATLAB图像处理工具箱及均值滤波函数的使用;2.理解和掌握3*3均值滤波的方法和应用;二.实验设备1.PC机一台;2.软件MATLAB;三.程序设计在MATLAB环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
closeall;I=imread('cameraman.tif');figure;subplot(2,3,1);imshow(I);%加入Gaussian噪声J1=imnoise(I,'gaussian',0,0.005);subplot(2,3,2);imshow(J1);%加入椒盐噪声J2=imnoise(I,'salt&pepper',0.02);subplot(2,3,3);imshow(J2);h=fspecial('average',[33]);G1=imfilter(J1,h);subplot(2,3,5);imshow(G1);G2=imfilter(J2,h);subplot(2,3,6);imshow(G2);四.实验步骤1.启动MATLAB双击桌面MATLAB图标启动MATLAB环境;2.在MATLAB命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用MATLAB自带的图像,如:cameraman图像;再调用相应的图像增强(均值滤波)函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察MATLAB环境下原始图像经3*3均值滤波处理后的结果。
(a)原始图像(b)3*3均值滤波处理后的图像图(3)六.实验报告要求输入一幅灰度图像,给出其图像经3*3均值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行均值滤波,看看对25个点取均值与对9个点进行均值滤波有什么区别?有没有其他的算法可以改进滤波效果。
均值滤波 中值滤波 直方图均衡
实验报告一.实验目的对图像进行空域增强,实现均值滤波、中值滤波、直方图均衡。
二.实验内容对加入椒盐噪声的图像进行均值滤波、中值滤波,对图像实现直方图均衡,通过改变图像的直方图来改变图像中像素的灰度,以达到图像增强的目标。
三.实验原理均值滤波的原理均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。
再用模板中的全体像素的平均值来代替原来像素值。
均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。
线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(,)x y,选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(,)u x y,即x y,作为处理后图像在该点上的灰度值(,)1(,)(,)u x y f x y m=∑,m 为该模板中包含当前像素在内的像素总个数。
中值滤波的原理中值滤波是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。
中值滤波首先是被应用在一维信号处理技术中,后来被二维图像信号处理技术所应用。
在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。
中值滤波的目的是保护图像边缘的同时去除噪声。
在一维的情况下,中值滤波器是一个含有奇数个像素的窗口,在处理之后,将窗口正中的像素灰度值用窗口内各像素灰度值的中值来代替。
设有一个维序列12,,...n f f f ,取窗口长度为奇数m ,对此序列进行中值滤波,就是从输入序列中相续抽出m 个数,,,,,i v i i v f f f -+,其中为窗口的中心值(1)/2v m =-,再将这m 个点的数值按其数值大小排列,取其序号为正中间的那个数作为滤波输出。
中值滤波表达式为:{}v i i v i i f f f Med F +-=,,,,对二维序列{X i,j }的中值滤波,滤波窗口也是二维的,但这种二维窗口可以有各种不同的形状,如线状、方形、圆形、十字形、圆环形等。
中值滤波与均值滤波
06
中值滤波与均值滤波的优缺点 分析
中值滤波的优缺点分析
在此添加您的文本17字
优点
在此添加您的文本16字
能够有效去除椒盐噪声:中值滤波对于去除由异常值引起 的椒盐噪声非常有效,因为它会将异常值视为非正常值而 进行替换。
在此添加您的文本16字
保护边缘信息:与均值滤波相比,中值滤波在处理过程中 更不容易模糊图像的边缘信息。
分治算法实现中值滤波
总结词
时间复杂度较低,适用于较大数据量
详细描述
分治算法实现中值滤波的基本思路是将待处理的像素点及其邻域内的像素值分为两个子集,分别计算子集的中值, 然后将两个子集的中值进行比较,选取较小的一个作为输出。这种方法能够显著降低时间复杂度,提高处理效率, 适用于大规模数据量。
并行算法实现中值滤波
在此添加您的文本16字
缺点
在此添加您的文本16字
处理速度相对较慢:中值滤波需要将像素点与邻近像素点 进行排序,因此处理速度相对较慢,尤其是在处理大图像 时。
在此添加您的文本16字
对非椒盐噪声效果有限:中值滤波对于非椒盐噪声的处理 效果可能不如其他滤波器。
均值滤波的优缺点分析
优点
对均匀区域平滑效果好:均值滤波器能够有效地平滑图 像中的均匀区域,减少图像中的细节。
迭代法实现均值滤波
要点一
总结词
迭代法是一种通过不断迭代更新像素值来实现均值滤波的 方法。
要点二
详细描述
迭代法的基本思想是通过不断迭代更新图像中每个像素的 值来实现均值滤波。具体实现时,通常先对图像进行一次 初步的滤波处理,然后根据滤波后的图像和原始图像之间 的差异,不断迭代更新像素值,直到达到预设的迭代次数 或迭代精度要求。迭代法能够更好地处理图像中的细节和 噪声,但计算复杂度较高,需要更多的计算资源和时间。
中值滤波与均值滤波
低通滤波(5*5、7*7、9*9、11*11)
均值滤波器
—— 原理
在图像上,对待处理的像素给定一个模板, 该模板包括了其周围的邻近像素。将模板中 的全体像素的均值来替代原来的像素值的方 法。
中值滤波
—— 原理示例
m-2
m-1
6
10
m
m+1
22
5
数值排序
m
m+1
m-2
2
5
6
m+2 8
m+2 8
m-1 10
2
6
中值滤波器 —— 处理示例
例:模板是一个1*5大小的一维模板。 原图像为: 2 2 6 2 1 2 4 4 4 2 4
处理后为: 2 2 2 2 2 2 4 4 4 4 4
(1,2,2,2,6) (1,2,2,2,6) (1,2,2,4,6)
C=5.5263
边框保留不变的效果示例
示例
均值滤波的改进
—— 加权均值滤波
均值滤波器的缺点是,会使图像变的模糊,原因 是它对所有的点都是同等对待,在将噪声点分摊 的同时,将景物的边界点也分摊了。
为了改善效果,就可采用加权平均的方式来构造 滤波器。
均值滤波的改进
—— 加权均值滤波
如下,是几个典型的加权平均滤波器。
1 1 1
H1
1 10
1
2
1
1 1 1 示例
1 2 1
H2
1 16
2
4
21 Βιβλιοθήκη 1示例1 1 1
H3
1 8
均值滤波与中值滤波的应用)
摘要通常,在自然界中大部分信号都存在噪声。
而在如今的数字信号处理中,有各种各样的数字信号滤波器,可以实现对噪声信号的滤波,恢复出原始信号的波形。
本课程设计是基于一维信号被噪声信号污染后,分别经过均值滤波和中值滤波处理后,提取出原始信号,并且观看不同M值时滤波后波形的比较。
均值滤波和中值滤波在数字信号处理中都是非常重要的滤波器,具有广泛的应用。
关键词均值滤波中值滤波数字信号处理目录摘要 (1)第1章均值滤波 (3)1.1 均值滤波的原理 (3)1.2 均值滤波的实现算法 (3)1.3 均值滤波的应用 (3)1.4 均值滤波器 (3)第2章中值滤波 (4)1.1 中值滤波的原理 (4)1.2 中值滤波的实现算法 (4)1.3 中值滤波的应用 (4)1.4 中值滤波器 (4)第3章均值滤波和中值滤波滤除噪声方法 (5)3.1 均值滤波和中值滤波对噪声信号滤波 (5)3.2 程序设计 (7)3.3 结果分析 (8)3.4 心得体会 (11)参考文献 (12)1.1均值滤波的原理均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。
再用模板中的全体像素的平均值来代替原来像素值。
均值滤波也称为线性滤波,其采用的主要方法为领域平均法。
线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度值u(x,y),即u(x,y)=1/m ∑f(x,y)①m为该模板中包含当前像素在内的像素总个数。
1.2均值滤波的实现算法均值滤波将每个像素点的灰度值设置为以该点为中心的邻域窗口内的所有像素灰度值的平均值,以实现像素的平滑,达到图像去噪的目的。
设输入图像信号为f(x,y),去噪处理后的输出图像为g(x,y),则有g(x,y)=| f(x,y)- u (x,y)| ②通过上式可以达到消除信号噪声的目的,但对于其中的每一个灰度值来说,都需要按照式①求取以该点中心的邻域窗口内所有像素的平均值,对长度为(2n+1)的信号来说,需要进行(2n+1)次加法、一次乘法、一次除法。
均值滤波,高斯滤波,中值滤波
均值滤波,高斯滤波,中值滤波均值滤波,高斯滤波和中值滤波是数字图像处理中常用的三种平滑滤波技术,用于降低图像噪声和去除图像中的不相关细节。
本文将对这三种滤波方法进行介绍、比较和分析。
一、均值滤波均值滤波是一种简单的平滑滤波方法,它的原理是用滤波窗口内像素的平均值来代替中心像素的值。
具体来说,对于滤波窗口内的每个像素,计算其邻域内所有像素的平均值,然后将结果作为中心像素的值。
这样可以有效地平滑图像并去除高频噪声。
然而,均值滤波的缺点是它不能很好地保留图像的边缘信息,使得图像看起来模糊且失去细节。
二、高斯滤波高斯滤波是一种基于高斯分布的平滑滤波方法,它认为像素点的邻域内的像素值与中心像素点的距离越近,其权重越大。
它的滤波过程是在滤波窗口内,对每个像素点进行加权平均。
加权的权重由高斯函数决定,距离中心像素点越近的像素点的权重越大,距离越远的像素点的权重越小。
通过这种加权平均的方式,可以更好地保留图像的细节和边缘信息,同时有效地去除噪声。
高斯滤波的唯一缺点是计算复杂度较高,特别是对于大型滤波窗口和高分辨率图像来说。
三、中值滤波中值滤波是一种统计滤波方法,它的原理是用滤波窗口内像素的中值来代替中心像素的值。
具体来说,对于滤波窗口内的每个像素,将其邻域内的像素按照大小进行排序,然后将排序后像素的中值作为中心像素的值。
中值滤波对于椒盐噪声和脉冲噪声有很好的去噪效果,能够保持图像的边缘信息,避免了均值滤波和高斯滤波的模糊问题。
然而,中值滤波的缺点是不能去除高斯噪声和高频噪声,因为当滤波窗口内的像素含有这些噪声时,中值滤波会产生失真效果。
比较和分析:三种滤波方法各有优劣,应根据实际需求选择合适的滤波方法。
均值滤波是最简单、计算复杂度最低的方法,在去除高斯噪声和低频噪声方面效果较差,但对边缘信息的保留效果较差。
高斯滤波通过加权平均的方式更好地保留了图像的细节和边缘信息,适用于处理高斯噪声并且具有一定的平滑效果。
中值滤波对于椒盐噪声和脉冲噪声有很好的去噪效果,并保持了图像的边缘信息,但对于高斯噪声和高频噪声则效果较差。
平均值滤波,中值滤波等
平均值滤波,中值滤波等
平均值滤波,轻松去噪。
你知道平均值滤波吗?简单来说,就是把一堆数据加起来,然
后除以数据的数量,得到一个平均值。
就像你算一堆数的平均分一样。
在数字世界里,这样做可以平滑数据,减少那些烦人的噪声。
就像你过滤掉照片上的小斑点,让照片更清晰一样。
中值滤波,专为异常值而生。
中值滤波可是个高手,专门对付那些不听话的异常值。
它不是
简单地算平均值,而是把数据从小到大排个队,然后挑中间的那个
数出来。
这样,那些极端的噪声值就被排除在外了,数据看起来就
舒服多了。
就像你在一堆人中挑个中等身高的,这样就不容易受极
端高矮的人影响了。
数字滤波,为啥这么重要?
哎呀,数字滤波可重要了!你想想,现在啥不是数字的?数据、信号、图片,都得靠数字来处理。
数字滤波就像给这些数字信息洗
个澡,把杂质都洗掉,让它们更干净、更清楚。
不管是平均值滤波还是中值滤波,都是为了让我们的数字世界更加美好、更加有序。
所以,别小看它们哦!。
像素均值滤波 中值滤波
像素均值滤波中值滤波
像素均值滤波和中值滤波都是常见的图像滤波算法,用于去除图像中的噪声。
它们的原理和实现方法有所不同。
像素均值滤波是一种线性滤波方法,它通过计算邻域内像素的均值来得到滤波后的像素值。
具体步骤如下:1. 对于每个像素点,选择一个与其邻域大小一致的窗口。
2. 在窗口内计算所有像素的平均值。
3. 将平均值作为滤波后的像素值。
中值滤波是一种非线性滤波方法,它通过计算邻域内像素的中值来得到滤波后的像素值。
具体步骤如下:1. 对于每个像素点,选择一个与其邻域大小一致的窗口。
2. 将窗口内所有像素的值放入一个数组中。
3. 对数组进行排序,取排序后的中间值作为滤波后的像素值。
相比之下,像素均值滤波更加简单而快速,它可以有效地平滑图像,但会对边缘和细节造成模糊。
而中值滤波对于去除椒盐噪声等突发性噪声效果较好,能够保持图像边缘和细节的清晰度。
同时,在噪声比较严重的情况下,中值滤波效果更好。
但是,中值滤波的计算复杂度较高,处理大图像需要耗费一定的时间。
因此,根据实际需求和噪声的特点,选择合适的滤波算法对图像进行噪声抑制。
均值滤波、中值滤波边界的处理
均值滤波、中值滤波边界的处理
均值滤波和中值滤波在处理边界时的方法有所不同。
对于均值滤波,如果不对图像的边界作任何处理,在对图像进行滤波时,滤波器没有作用到图像的四周,因此图像的四周没有发生改变。
另一种方法是对图像的边界做扩展,在扩展边界中填充0,对于边长为2k+1的方形滤波器,扩展的边界大小为k,若原来的图像为[m, n],则扩展后图像变为[m+2k, n+2k]。
进行滤波之后,图像会出现一条黑色的边框。
对于中值滤波,边界的处理也有两种方式:不做任何处理或者用扩展的部分填充。
对于填充扩展的部分,和均值滤波类似,扩展与填充0的扩展类似,只不过填充0的扩展是在扩展部分填充0,而这个方法是填充距离最近的像素的值。
以上信息仅供参考,如有需要,建议咨询专业技术人员。
均值滤波和中值滤波原理
均值滤波和中值滤波原理嗨,朋友!今天咱们来聊聊图像处理里超级有趣的均值滤波和中值滤波。
这俩家伙呀,就像是图像的小魔法师,能把图像变得更漂亮、更干净呢!先来说说均值滤波吧。
想象一下,你有一幅画,上面有些小污点或者小噪点,就像脸上的小雀斑一样让人不太舒服。
均值滤波呢,就像是拿了一个小抹布,这个小抹布的大小是事先确定好的,比如说3×3或者5×5的小方块。
然后呢,把这个小抹布放在图像的一个小区域上。
在这个小区域里的每一个像素点就像是一群小伙伴。
均值滤波的做法就是把这些小伙伴的值加起来,再除以小伙伴的数量,得到一个平均值。
这个平均值就成了这个小区域中心像素点的新值啦。
就好像小伙伴们一起商量,咱们取个平均水平,这样就代表咱们这个小团体啦。
比如说,这个小区域里的像素值分别是10、12、15、11、9、13、14、16、18,加起来是128,一共9个像素,那平均值就是128÷9≈14。
于是中心像素点就从原来的值变成14啦。
这样一路做下去,图像里那些小噪点就被慢慢地平均掉了,就像把小雀斑一点一点地抹淡了一样。
“那均值滤波有没有缺点呢?”你可能会这么问。
当然有啦!有时候它就像个傻大个,太过于平均了。
如果图像里有一些边缘信息,比如说画里有个很清晰的物体轮廓,均值滤波可能就会把这个边缘也给模糊掉。
这就好比你本来有一幅很有个性的画,有些线条是用来突出主体的,结果这个傻大个均值滤波一来,把那些线条也给弄模糊了,就好像个性被磨平了一样,有点可惜呢。
现在咱们再聊聊中值滤波。
中值滤波呀,和均值滤波有点像,但又很不一样。
还是那个小抹布的比喻,不过中值滤波在这个小抹布覆盖的小区域里,不是求平均值,而是找中间值。
就好比一群小朋友站成一排,按照身高从矮到高排列,然后找到站在正中间的那个小朋友的身高,这个身高就是新的值啦。
比如说这个小区域里的像素值是8、10、12、15、18、20、22、25、28,把它们从小到大排好,中间的值就是18,那这个小区域中心像素点就变成18啦。
实验三均值滤波和中值滤波
实验三均值滤波和中值滤波实验三均值滤波和中值滤波⼀、实验⽬的进⼀步了解MatLab软件/语⾔,学会使⽤MatLab对图像作滤波处理,使学⽣有机会掌握滤波算法,体会滤波效果。
了解⼏种不同滤波⽅式的使⽤和使⽤的场合,培养处理实际图像的能⼒,并为课堂教学提供配套的实践机会。
⼆、实验要求(1)学⽣应当完成对于给定图像+噪声,使⽤平均滤波器、中值滤波器对不同强度的⾼斯噪声和椒盐噪声,进⾏滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。
(2)利⽤MATLAB软件实现空域滤波的程序:I=imread('electric.tif');J = imnoise(I,'gauss',0.02); %添加⾼斯噪声J = imnoise(I,'salt & pepper',0.02); (注意空格) %添加椒盐噪声ave1=fspecial('average',3); %产⽣3×3的均值模版ave2=fspecial('average',5); %产⽣5×5的均值模版K = filter2(ave1,J)/255; %均值滤波3×3L = filter2(ave2,J)/255; %均值滤波5×5M = medfilt2(J,[3 3]); %中值滤波3×3模板N = medfilt2(J,[4 4]); %中值滤波4×4模板imshow(I);figure,imshow(J);figure,imshow(K);figure,imshow(L);figure,imshow(M);figure,imshow(N);三、实验设备与软件(1) IBM-PC计算机系统(2) MatLab软件/语⾔包括图像处理⼯具箱(Image Processing Toolbox)(3) 实验所需要的图⽚四、实验内容与步骤a) 调⼊并显⽰原始图像Sample2-1.jpg 。
均值滤波和中值滤波
均值滤波和中值滤波均值滤波与自适应中值滤波的仿真与实现摘要图像是一种重要的信息源,通过图像处理可以帮助人们了解信息的内涵,然而在图像使用和传输过程中,不可避免会受到噪声的干扰,因此为了恢复原始图像,达到好的视觉效果,需要对图像进行滤波操作。
根据噪声种类不同,可以采用不同的滤波方法,均值滤波是典型的线性滤波算法,能够有效滤波图像中的加性噪声,而中值滤波器是能够有效滤除脉冲噪声的非线性滤波器,但传统中值滤波去脉冲噪声的性能受滤波窗口尺寸的影响较大, 在抑制图像噪声和保护细节两方面存在矛盾。
本文首先对不同均值滤波器在处理不同噪声方面的优缺点进行了分析,然后分别用中值滤波器和自适应中值滤波器对被椒盐噪声污染的图像进行了滤波操作,发现自适应中值滤波方法不仅可以有效滤波椒盐噪声,同时还可以有效地克服中值滤波器造成图像边缘模糊的缺点。
1.均值滤波均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素点和其本身像素点。
再用模板中的全体像素的平均值来代替原来像素值。
均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。
线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其邻近的若干像素组成,求模板中所有像素算术平均滤波,几何平均滤波和逆谐波均值滤波对高斯噪声进行滤波A 原始图像B 高斯噪声污染的图像C 用3x3算术均值滤波器滤波后图像D 用3x3几何均值滤波器滤波后图像E Q=-1.5的逆谐波滤波器滤波后图像F Q=1.5的逆谐波滤波器滤波后图像图一均值滤波(高斯噪声)如图一所示,图A为原始图像,图B为被高斯噪声污染的图像,图C为用3x3算术均值滤波处理后的图像,图D为用3x3几何均值滤波处理后的图像,图E为用Q=-1.5的逆谐波均值滤波处理后的图像,图F为用Q=1.5的逆谐波均值滤波处理后的图像。
与图B进行比较,图C,D,E,F经均值滤波处理后视觉效果明显改善,说明均值滤波能有效滤除图像中的高斯噪声。
中值滤波与均值滤波
排序算法实现中值滤波的过程包括以下步骤:首先,将像素邻域内的所有像素值读入一个数组中;然后,对这个 数组进行排序;最后,选择排序后的中间值作为输出。这种方法的时间复杂度较高,为O(nlogn),其中n是像素 邻域内的像素个数。
分治算法实现中值滤波
总结词
分治算法实现中值滤波是一种改进的方 法,它将问题分解为若干个子问题,递 归地解决子问题,最后将结果合并。
中值滤波与均值滤波
• 中值滤波器概述 • 均值滤波器概述 • 中值滤波与均值滤波的比较 • 中值滤波的实现方法 • 均值滤波的实现方法 • 中值滤波与均值滤波的未来发展
01
中值滤波器概述
中值滤波的定义
01
中值滤波是一种非线性信号处理 技术,用于消除噪声和异常值。
02
它通过将一个滑动窗口内的所有 像素值按大小排序,并将中值作 为输出,来达到去除异常值的目 的。
THANKS
感谢观看
值的平均值,得到滤波后的像素值。
高斯滤波器实现均值滤波
总结词
高斯滤波器是一种常用的均值滤波方法,通过将高斯函数作为滤波器核,对图像进行卷 积运算,实现均值滤波。
详细描述
高斯滤波器的基本思想是,将高斯函数作为滤波器核,对图像中的每个像素及其邻近像 素进行卷积运算。高斯函数具有平滑的形状和逐渐减小的振幅,能够有效地平滑图像并
中值滤波对异常值较为鲁棒,能 够有效地去除由异常值引起的噪 声。均值滤波对异常值的敏感性 较高,容易受到异常值的影响。
边缘保护
中值滤波在处理图像边缘时能够 较好地保留边缘信息,而均值滤 波可能会对图像边缘造成模糊。
适用场景比较
中值滤波适用于去除椒盐噪声和去除由异常值引起的噪声。 均值滤波适用于去除高斯噪声和减少图像细节。
中值滤波与均值滤波(教学材料)
1
的目的。
2
知识分享
22
K近邻(KNN)平滑滤波器
—— 实现算法
1) 以待处理像素为中心,作一个m*m的作用 模板。
2)在模板中,选择K个与待处理像素的灰度差 为最小的像素。
3)将这K个像素的灰度均值替换掉原来的像素 值。
知识分享
23
K近邻(KNN)平滑滤波器
—— 例题
例:下图,给定3*3模板,k=5。
C=6.6316
12143 1 22 23 34 4 5 75 66 86 9 5 76 67 88 8 56789
C=5.5263
知识分享
示例
14
中值滤波器与均值滤波器的比较
对于椒盐噪声,中值滤波效果比均值滤 波效果好。
知识分享
15
中值滤波器与均值滤波器的比较
原因: 椒盐噪声是幅值近似相等但随机分布在不
(1,2,2,2,6) (1,2,2,2,6) (1,2,2,4,6)
知识分享
(2,4,4)
12
中值滤波器
—— 滤波处理方法
与均值滤波类似,做3*3的模板,对9个数排 序,取第5个数替代原来的像素值。
知识分享
13
中值滤波器
—— 例题
1 21 4 3 1 22 3 4 5 76 8 9 5 76 8 8 5 67 8 9
1 1 1
H1
1 10
1
2
1
1 1 1 示例
1 2 1
H2
1 16
2
4
2
1 2 1
示例
1 1 1
H3
1 8
1
1
0 1
1 1
中值和均值滤波算法
中值和均值滤波算法作业:对lean.raw文件,采用中值滤波和均值滤波,完成图象去噪中值滤波:/************************************************************** *********** * * 函数名称:* MedianFilter() ** 参数:* LPSTR lpDIBBits - 指向源DIB图像指针 * LONG lWidth - 源图像宽度(象素数)* LONG lHeight - 源图像高度(象素数)* int iFilterH - 滤波器的高度 * int iFilterW - 滤波器的宽度* int iFilterMX - 滤波器的中心元素X坐标 * int iFilterMY - 滤波器的中心元素Y坐标 ** 返回值:* BOOL - 成功返回TRUE,否则返回FALSE。
** 说明:* 该函数对DIB图像进行中值滤波。
**************************************************************** *********/ BOOL WINAPI MedianFilter(LPSTR lpDIBBits, LONG lWidth, LONG lHeight,int iFilterH, int iFilterW, int iFilterMX, int iFilterMY) {// 指向源图像的指针 unsigned char* lpSrc;// 指向要复制区域的指针 unsigned char* lpDst;// 指向复制图像的指针LPSTR lpNewDIBBits; HLOCAL hNewDIBBits;// 指向滤波器数组的指针unsigned char * aValue; HLOCAL hArray;// 循环变量 LONG i; LONG j; LONG k; LONG l;// 图像每行的字节数 LONG lLineBytes;// 计算图像每行的字节数lLineBytes = WIDTHBYTES(lWidth * 8);// 暂时分配内存,以保存新图像hNewDIBBits = LocalAlloc(LHND, lLineBytes * lHeight);// 判断是否内存分配失败 if (hNewDIBBits == NULL) {// 分配内存失败 return FALSE; }// 锁定内存lpNewDIBBits = (char * )LocalLock(hNewDIBBits);// 初始化图像为原始图像memcpy(lpNewDIBBits, lpDIBBits, lLineBytes * lHeight);// 暂时分配内存,以保存滤波器数组hArray = LocalAlloc(LHND, iFilterH * iFilterW);// 判断是否内存分配失败 if (hArray == NULL) {// 释放内存LocalUnlock(hNewDIBBits); LocalFree(hNewDIBBits);// 分配内存失败return FALSE;}// 锁定内存aValue = (unsigned char * )LocalLock(hArray);// 开始中值滤波// 行(除去边缘几行)for(i = iFilterMY; i < lHeight - iFilterH + iFilterMY + 1; i++) { // 列(除去边缘几列)for(j = iFilterMX; j < lWidth - iFilterW + iFilterMX + 1; j++) { // 指向新DIB第i行,第j个象素的指针lpDst = (unsigned char*)lpNewDIBBits + lLineBytes * (lHeight -1 - i) + j;// 读取滤波器数组for (k = 0; k < iFilterH; k++) {for (l = 0; l < iFilterW; l++) {// 指向DIB第i - iFilterMY + k行,第j -iFilterMX + l个象素的指针lpSrc = (unsigned char*)lpDIBBits + lLineBytes* (lHeight - 1 - i + iFilterMY - k) + j - iFilterMX + l;// 保存象素值aValue[k * iFilterW + l] = *lpSrc; } }// 获取中值* lpDst = GetMedianNum(aValue, iFilterH * iFilterW); } }// 复制变换后的图像memcpy(lpDIBBits, lpNewDIBBits, lLineBytes * lHeight);// 释放内存LocalUnlock(hNewDIBBits); LocalFree(hNewDIBBits); LocalUnlock(hArray); LocalFree(hArray);// 返回 return TRUE;}均值滤波:/************************************************************** *********** * * 函数名称:* GetMedianNum() ** 参数:* unsigned char * bpArray - 指向要获取中值的数组指针* int iFilterLen - 数组长度** 返回值:* unsigned char - 返回指定数组的中值。
均值滤波和中值滤波
均值滤波与自适应中值滤波得仿真与实现摘要图像就是一种重要得信息源,通过图像处理可以帮助人们了解信息得内涵,然而在图像使用与传输过程中,不可避免会受到噪声得干扰,因此为了恢复原始图像,达到好得视觉效果,需要对图像进行滤波操作。
根据噪声种类不同,可以采用不同得滤波方法,均值滤波就是典型得线性滤波算法,能够有效滤波图像中得加性噪声,而中值滤波器就是能够有效滤除脉冲噪声得非线性滤波器,但传统中值滤波去脉冲噪声得性能受滤波窗口尺寸得影响较大, 在抑制图像噪声与保护细节两方面存在矛盾、本文首先对不同均值滤波器在处理不同噪声方面得优缺点进行了分析,然后分别用中值滤波器与自适应中值滤波器对被椒盐噪声污染得图像进行了滤波操作,发现自适应中值滤波方法不仅可以有效滤波椒盐噪声,同时还可以有效地克服中值滤波器造成图像边缘模糊得缺点。
1.均值滤波均值滤波就是典型得线性滤波算法,它就是指在图像上对目标像素给一个模板,该模板包括了其周围得临近像素点与其本身像素点。
再用模板中得全体像素得平均值来代替原来像素值。
均值滤波也称为线性滤波,其采用得主要方法为邻域平均法、线性滤波得基本原理就是用均值代替原图像中得各个像素值,即对待处理得当前像素点(x,y),选择一个模板,该模板由其邻近得若干像素组成,求模板中所有像素得均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上得灰度值g(x,y),即g(x,y)=1/m ∑f(x,y), m为该模板中包含当前像素在内得像素总个数。
均值滤波能够有效滤除图像中得加性噪声,但均值滤波本身存在着固有得缺陷,即它不能很好地保护图像细节,在图像去噪得同时也破坏了图像得细节部分,从而使图像变得模糊。
均值滤波主要有算术均值滤波,几何均值滤波,谐波均值滤波以及逆谐波均值滤波,本文只对算术均值滤波,几何均值滤波与逆谐波均值滤波进行研究。
其中几何均值滤波器所达到得平滑度可以与算术均值滤波器相比,但在滤波过程中丢失更少得图象细节、逆谐波均值滤波器更适合于处理脉冲噪声,但它有个缺点,就就是必须要知道噪声就是暗噪声还就是亮噪声,以便于选择合适得滤波器阶数符号,如果阶数得符号选择错了可能会引起灾难性得后果、下面分别对算术平均滤波,几何平均滤波与逆谐波均值滤波对不同噪声得滤波效果进行仿真分析、1.1算术平均滤波,几何平均滤波与逆谐波均值滤波对高斯噪声进行滤波A 原始图像B 高斯噪声污染的图像C 用3x3算术均值滤波器滤波后图像D 用3x3几何均值滤波器滤波后图像E Q=-1.5的逆谐波滤波器滤波后图像F Q=1.5的逆谐波滤波器滤波后图像图一均值滤波(高斯噪声)如图一所示,图A为原始图像,图B为被高斯噪声污染得图像,图C为用3x3算术均值滤波处理后得图像,图D为用3x3几何均值滤波处理后得图像,图E为用Q=—1。
直方图均衡、中值滤波、均值滤波、锐化滤波
直方图均衡及图像滤波一、实验目的1、通过实验进一步加深图像直方图均衡和滤波原理的理解;2、提高Matlab编程能力。
二、实验原理(一)直方图均衡原理在实际应用中,希望能够有目的地增强某个灰度区间的图像,即能够人为地修正直方图的形状,使之与期望的形状相匹配,这就是直方图规定化的基本思想。
换句话说,希望可以人为地改变直方图形状,使之成为某个特定的形状,直方图规定化就是针对上述要求提出来的一种增强技术,它可以按照预先设定的某个形状来调整图像的直方图。
每一可能的灰度层次所占的像素个数尽量均等,每个像素具有同样的显示机会,从而使图像细节清晰,改善图像的整体对比度。
(二)中值滤波中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。
方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
模板通常为3×3和5×5区域,也可以是其他不同的形状,如线状,圆形,十字形,圆环形等。
(三)均值滤波均值滤波是一种利用模版对图像进行模板操作的图像平滑方法,所谓模版是指模版中所有系数都取相同值的模版,常用的3×3和5×5模版。
邻域平均法的思想是通过一点和邻域内像素点求平均来去除突变的像素点,从而滤掉一定噪声,其优点是算法简单,计算速度快,其代价会造成图像在一定程度上的模糊。
三、实验内容(一)直方图均衡首先读入一幅图像,利用Matlab的rgb2gray()函数将其转化为灰度图,便于接下来的处理。
转化成的灰度图像如下图所示:图1 原灰度图上面灰度图的直方图如下:图2 原灰度图的直方图上面原始图像的直方图共256个灰度级,我们统计每个灰度级内像素数量k n ,每个灰度级像素数量占像素总数量的比例kn N,计算累计直方图做出灰度直方图: 1k k k i n s N==∑ 累计直方图如下:图3 累积直方图然后按照()int 10.5k k L s =-+⎢⎥⎣⎦的映射关系,将原像素的灰度值变为该式映射的灰度值,从而获得均衡后的图像和均衡后的直方图。