中值滤波和均值滤波课程设计
图像滤波增强方法研究 ........................................................................................ 错误!未定义书签。 摘要 .................................................................................................................... 错误!未定义书签。
1.1数字图像处理 ........................................................................... 错误!未定义书签。
1.2基本原理 .................................................................................. 错误!未定义书签。
1.3、matlab简介 ............................................................................ 错误!未定义书签。
2.均值滤波和中值滤波 ......................................................................................... 错误!未定义书签。
2.1均值滤波原理 ................................................................................... 错误!未定义书签。
2.2 均值滤波的实现算法 ...................................................................... 错误!未定义书签。
实验环境 ......................................................................................... 错误!未定义书签。
设计思路 ......................................................................................... 错误!未定义书签。
2.3均值滤波源程序: ........................................................................... 错误!未定义书签。
2.4运行结果: ....................................................................................... 错误!未定义书签。 3中值滤波 .............................................................................................. 错误!未定义书签。
3.1 中值滤波的原理 ...................................................................... 错误!未定义书签。
3.2中值滤波的实现算法 ....................................................................... 错误!未定义书签。
3.3中值滤波程序 : ..................................................................... 错误!未定义书签。
3.4运行结果: ....................................................................................... 错误!未定义书签。
4.中值滤波与均值滤波的比较: ......................................................................... 错误!未定义书签。
5.参考文献 ............................................................................................................. 错误!未定义书签。 致谢 ........................................................................................................................ 错误!未定义书签。
图像滤波增强方法研究
摘要
图像是一种重要的信息源 通过图像处理可以帮助人们了解信息的内涵。本文将纯净的图像加入高斯噪声,然后采用中值和均值滤波的方法对其进行去噪。在图像处理中 中值和均值滤波对滤除脉冲干扰噪声都很有效。文章阐述了中值和均值滤波的原理、算法以及在图像处理中的应用。MATLAB是一种高效的工程计算语言 在数据处理、图像处理、神经网络、小波分析等方面都有广泛的应用。 关键词
图像 中值滤波 均值滤波 去噪 MATLAB
1.引言
1.1数字图像处理
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。最早出现于20世纪50年代,作为一门学科大约形成于20世纪60年代初期。发展到现在其应用范围十分广泛,涉及航天和航空技术、生物医学工程、通信工程、视频和多媒体等。 作为图像处理的一个重要分支,图像平滑是指用于突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分,使图像亮度平缓渐变,减小突变梯度,改善图像质量的图像处理方法。主要包括:领域平均法、中值滤波法、理想地低通滤波器法等等,因噪声的类型而选择不同的滤波法。目前,常用的图像噪声滤波方法有低通滤波法、带通滤波法、平滑滤波、锐化滤波、均值滤波、中值滤波等方法。而噪声主要有高斯噪声,椒盐噪声,乘性噪声,加性噪声等。 图像平滑因其独特的功能而广泛应用于图像显示、传输、动画制作和媒体合成等多个领域。对于该课题的设计,能加强对图像处理的认识,理解噪声对图像干扰的原因,以及去除噪声的方法,同时增强系统设计提高分析问题与解决问题的能力。设计过程中采用matlab编写程序及结果运行,有效地提高软件处理数字图像的方法与认识水平。
1.2基本原理
本系统采用matlab软件进行编程设计,在matlab中可直接调用多种函数对图像处理。首先是调用加噪函数对原图像的加入各种噪声,然后设计并采用多种方法对有噪声的图像进行去噪处理,分为空域法和频域法,主要有领域平均法、中值滤波法和低通滤波器法,通过比较多幅图像的处理结果,选择对不同噪声种类的最佳处理方法。
1.3、matlab简介
matlab是美国Mathworks公司1983年首次推出的一套高性能的数值分析和计算软件,MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。 在数字图像处理领域,有很多汇编语言,也有多种软件工具,但matlab,具有很好的优势:丰富的函数工具箱,能方便的调用各种函数;强大的矩阵处理能力,快速计算大量复杂的数据,因而受到广大工作人员的青睐。本系统采用的软件即为matalb仿真处理。
2.均值滤波
2.1均值滤波原理
均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来像素值。 均值滤波也称为线性滤波,其采用的主要方法为领域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度值u(x,y),即 u(x,y)=1/m ∑f(x,y) ① m为该模板中包含当前像素在内的像素总个数。
2.2 均值滤波的实现算法
用邻域平均法,其模板为:3*3,5*5或7*7我们只做3*3
实验环境
本实验在Windows平台上进行,对内存及cpu主频无特别要求,使用matlab
编译器均可。
设计思路
介绍代码的框架结构、所用的数据结构、各个类的介绍(类的功能、类中方法的功能、类的成员变量的作用)、各方法间的关系 。
2.3均值滤波源程序:
X=imread('2.bmp');%读入图像
X1=double(X); %将图像转换为双精度型
[row,col]=size(X) %输入图像的大小
for i=1:row %从1开始到row结束的循环
for j=1:col %从1开始到col结束的循环
if(i=row || j>=col) %除去图像的边缘 X2(i,j)=X1(i,j);
else
a(1)=X1(i-1,j-1);
a(2)=X1(i,j-1);
a(3)=X1(i+1,j-1);
a(4)=X1(i-1,j);
a(5)=X1(i,j);
a(6)=X1(i+1,j);
a(7)=X1(i-1,j+1);
a(8)=X1(i,j+1);
a(9)=X1(i+1,j+1);%模板中的九个像素点
X2(i,j)=a(1)*1/45+a(2)*2/45+a(3)*3/45+a(4)*4/45+a(5)*5/45+a(6)*6/45+a
(7)*7/45+a(8)*8/45+a(9)*9/45;
%将模板中的九个像素点均值并赋值给X2。
end
end
end
2.4运行结果:
图2.4-1 原图
图2.4-2 加入高斯噪声后的图
图2.4-3 均值滤波后的图像
3中值滤波
3.1 中值滤波的原理
中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。在数字信号处理一维信号中,方法是用某种结构的一维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为一维数据序列。一维中值滤波输出为g(x)=med{f(x-k),(k,∈W)} ,其中,f(x),g(x)分别为原始信号和处理后信号。
3.2中值滤波的实现算法
通过从图像中的某个采样窗口取出奇数个数据进行排序; 用排序后的中值取代要处理的数据即可。 中值滤波法对消除椒盐噪音非常有效,在光学测量条纹图像的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大。中值滤波在图像处理中,常用于用来保护边缘信息,是经典的平滑噪声的方法。中值滤波在如今的数字信号处理和数字图像处理中都是应用比较普遍的方法。设有一个一维序列(f1,f2,f3,„„,fn)。取窗口长度为M(M为奇数),对此一维信号进行中值滤波,就是从输入序列中相继抽出M的个数(fi-v,„,fi-1,fi,fi+1,„,fi+v),其中fi为窗口的中心点值,v=(M-1)/2。再将这M个点的值按其数值大小排序,取其序号为正中间那个数作为滤波输出。中值滤波的窗口形状和尺寸设计对滤波效果影响很大。不同的图像要求和不同的应用要求,往往采用不同的窗口形状和尺寸。
3.3中值滤波程序 :
X=imread('2.bmp');%读入图像
X1=double(X);
[row,col]=size(X) %输入图像的大小
for i=1:row %从1开始到row结束的循环
for j=1:col %从1开始到col结束的循环
if(i=row || j>=col) %除去图像的边缘 X2(i,j)=X1(i,j);
else
a(1)=X1(i-1,j-1);
a(2)=X1(i,j-1);
a(3)=X1(i+1,j-1);
a(4)=X1(i-1,j);
a(5)=X1(i,j);
a(6)=X1(i+1,j);
a(7)=X1(i-1,j+1);
a(8)=X1(i,j+1);
a(9)=X1(i+1,j+1);
X2(i,j)=a(1)*1/45+a(2)*2/45+a(3)*3/45+a(4)*4/45+a(5)*5/45+a(6)*6/45+a
(7)*7/45+a(8)*8/45+a(9)*9/45; %将模板中的九个像素点均值并赋值给X2。
end
end
end
3.4运行结果:
3.4-1原图
3.4-2加入高斯噪声后的图像
图3.4-3 中值滤波后的图像
4.中值滤波与均值滤波的比较:
根据以上实验结果进行对比分析,可以得出以下结论:
(1)对于均值滤波, 由以上处理后的图像可以看到:均值滤波对高斯噪声的抑制是比较好的,处理后的图像边缘模糊较少。但对椒盐噪声的影响不大,因为在削弱噪声的同时整幅图像内容总体也变得模糊,其噪声仍然存在。
(2)对于中值滤波,由图像处理的结果可以看出,它只影响了图像的基本信息,说明中值滤波对高斯噪声的抑制效果不明显。这是因为高斯噪声使用随机大小的幅值污染所有的点,因此无论怎样进行数据选择,得到的始终还是被污染的值。而由图还可以看出,中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好,同时画面的轮廓依然比较清晰。由此看来,对于椒盐噪声密度较小时,尤其是孤立噪声点,用中值滤波的效果非常好的。 均值滤波对高斯噪声有较好的抑制作用,而对于椒盐噪声的处理中值滤波要略微有优势。
5.参考文献
[1] 张毓晋.图像工程(第二版).北京:清华大学出版社,2007
[2] 孙宏琦,施维颖,巨永峰.利用中值滤波进行图像处理《长安大学学报(自然科学版) 》,2003(2)
[3] 李彦军,苏红旗等.改进的中值滤波图像去噪方法研究《计算机工程与设计》,2009(12)
[4] 胡鹏,徐会燕.基于matlab的图像去噪算法的研究与实现《福建电脑》,2009(12)
[5] 宋兆基、徐流美等.MATLAB 6.5在科学计算中的应用.北京:清华大学出版社,2005
[6] 程佩清. 数字信号处理教程(第3版).北京: 清华大学出版社,2006
致谢
数字信号处理是一门很实用、很有价值的一门课程。通过本次课程设计,我们对均值滤波和中值滤波有了一定的了解,对Matlab软件的使用更加熟练,对课本上的知识有了近一步的掌握,也深刻明白了自己的不足。 完成本次课程设计的过程,是一个从无到有,经历了兴奋、自信、失落、奋发、所悟、完成几个过程。刚开始做课程设计时,仔细阅读课程设计的题目及要求,以为没有什么困难的,所用的知识书本上都有。可是当我们动手开始做的时候,才发现其中的算法,设计是那么的繁琐。经过一天的努力,毫无结果。失落的心情油然而生。于是,再到图书馆和网上查找资料,在经过借鉴很多类似的资料、文献后,总算有点眉目了。埋头苦干是痛苦的,尤其在思考算法和程序框架的时候,迷茫,烦躁,特别是当苦思一个结果,又被自己推翻,心痛的无法言绘。在此次课程设计中,我们体会到了合作的愉快,我们一起讨论、研究、精益求精、不断完善程序,终于通过我们的努力把这个课程设计做好了,这种喜悦之情油然而生。 将近四个星期的课程设计很快结束了,其中酸甜苦辣都尝到了,在这过程中我们遇到问题及时通过网络查找资料,虽然很累,但感觉很充实,很有收获,尤其是最后看到自己设计的程序成功运行后那种感觉无法用语言来描叙,感觉所有的付出都得到了回报,是那么的理所当然又是那么的出人意料。 这样的课程设计真的很有意义,感觉自己学会了很多,成长了很多,让我们找回了往日奋斗的激情。我们会深深的记住这次经历,记住这次饱含我们汗水的综合课程设计。这次也发现了自身很多的不足,许多的Matlab的函数都不是很熟悉,在编程的时候就不停的找以前的教材,以后还得多看看资料,牢记一些基本语法和函数。最后在这里忠心的感谢老师安排了这次信息处理实践,感谢指导老师的指导与教诲。我们明白了的一个道理,光学会课本的知识是不够的,还要懂得如何去运用,这才是学习的目的!