毕业论文-图像增强算法研究-图像平滑模块_第1页
毕业论文-图像增强算法研究-图像平滑模块_第2页
毕业论文-图像增强算法研究-图像平滑模块_第3页
毕业论文-图像增强算法研究-图像平滑模块_第4页
毕业论文-图像增强算法研究-图像平滑模块_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE 河北农业大学现代科技学院 本科毕业论文(设计)题 目: 学 部: 工程技术学部 专业班级: 计算机科学与技术0901班学 号: 学生姓名: 指导教师姓名: 指导教师职称: 讲师 二一三 年 六 月 二 日PAGE 摘 要图像作为一种有效的信息载体,是人类获取和交换信息的主要来源。人类感知的外界信息80%以上是通过视觉得到的。因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。图像平滑是指用于突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分,使图像亮度平缓渐变,减小突变梯度,改善图像质量的图像处理方法。本文围绕图像平滑而展开,在阐明图像平滑处理基本方法的基础上

2、,就几种有代表性的图像平滑算法, 进行了研究、比较,分析了各自的优缺点并指明了其最佳适用场景,以期从中总结出一套行之有效的图像平滑算法的应用指导规则。关键字:信息载体,图像,图像噪声,C+AbstractAs an effective information carrier,image is the main source through which human acquire and exchange information.Researches have shown that eighty percent of surroundings information which is able

3、to be perceptive by human is acquired through human visual system.Teehniques of image enhaneement aim at improving the interpretability or perception of information in images for human viewers,eliminating or attenuating unneeded information,or providing better input for other automated image proeess

4、ing teehniques.This paper is developed according to the algorithm of image enhancement.After the fundamental methods of image enhancement processing are demonstrated,the following representative algorithms. deeply and systematically investigated and compared.The advantage and defect of the above-men

5、tioned algorithms as well as the suitable application situations of them are analyzed and pointed out,in order to conclude a set of effective application instructing rules.Key words: information carrier, image, image noise, c + + 目录 TOC o 1-3 h z u HYPERLINK l _Toc279875242 1 绪论 PAGEREF _Toc27987524

6、2 h 1 HYPERLINK l _Toc279875243 1.1 课题背景 PAGEREF _Toc279875243 h 1 HYPERLINK l _Toc279875244 1.2 图像增强的研究及发展现状 PAGEREF _Toc279875244 h 2 HYPERLINK l _Toc279875247 2 图像增强基础3 HYPERLINK l _Toc279875248 2.1 为什么要进行图像增强3 HYPERLINK l _Toc279875252 2.2 图像增强的定义3 HYPERLINK l _Toc279875253 2.3 常用的图像增强方法3 HYPERL

7、INK l _Toc279875256 2.4 图像增强流程图4 HYPERLINK l _Toc279875258 3 图像平滑6 HYPERLINK l _Toc279875259 3.1 图像平滑的目的6 HYPERLINK l _Toc279875262 3.2 图像平滑的方法6 HYPERLINK l _Toc279875263 3.2.1 线性平滑6 HYPERLINK l _Toc279875264 3.2.2非线性平滑6 HYPERLINK l _Toc279875274 4 图像平滑算法与实现8 HYPERLINK l _Toc279875275 4.1 均值滤波8 HYPE

8、RLINK l _Toc279875263 4.1.1 基本原理8 HYPERLINK l _Toc279875264 4.1.2实现方法8 HYPERLINK l _Toc279875263 4.1.3 程序源代码9 HYPERLINK l _Toc279875264 4.1.4结果输出及分析10 HYPERLINK l _Toc279875276 4.2 高斯滤波11 HYPERLINK l _Toc279875263 4.2.1 基本原理 PAGEREF _Toc279875263 h 11 HYPERLINK l _Toc279875264 4.2.2实现方法 PAGEREF _Toc

9、279875264 h 11 HYPERLINK l _Toc279875263 4.2.3 程序源代码12 HYPERLINK l _Toc279875264 4.2.4结果输出及分析13 HYPERLINK l _Toc279875277 4.3 中值滤波15 HYPERLINK l _Toc279875263 4.3.1 基本原理15 HYPERLINK l _Toc279875264 4.3.2实现方法15 HYPERLINK l _Toc279875263 4.3.3 程序源代码16 HYPERLINK l _Toc279875264 4.3.4结果输出及分析17 HYPERLINK

10、 l _Toc279875280 结 论20 HYPERLINK l _Toc279875281 致 谢21 HYPERLINK l _Toc279875282 参考文献22PAGE 221绪论人们对外界信息的百分之七十五都来自图像,也就是说人类的大部分信息都是从图像中获取的。利用计算机对图像进行各种形式的处理,促进了图像处理技术的快速发展。图像增强本身就是图像处理中最具吸引力的领域之一。1.1 课题背景数字图像处理技术是20世纪60年代随着计算机技术和VLS(Very Large Scale Integrator的发展而产生、发展和不断成熟起来的一个新兴技术领域,它在理论上和实际应用中都取得

11、了巨大的成就1。视觉是人类最重要的感知手段,图像又是视觉的基础。早期图像处理的目的是改善图像质晕,它以人为对象,以改善人的视觉效果为目的。图像处理中输入的是质量低的图像,输出的是改善质量后的图像。常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片进行图像处理,如:几何校正、灰度变换、去除噪声,并考虑了太阳位和月球环境的影响,由计算机成功地绘出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,获得月球的地形图、彩色图及全景镶嵌图,为人类登月创举奠定了

12、坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术探测研究中,数字图像处理技术都发挥巨大的作用2。数字图像处理技术取得的另一个巨大成就是在医学上。1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(Computer Tomograph),CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术被授予诺贝尔奖,以表彰它对人类做出的划时代贡献。从20世纪70年代中期开始,

13、随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理技术向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,类似人类视觉系统3理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少的重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理沦,这个理论成为计算机视觉领域其后十多年的主导思想4。20世纪80年代末期,人们开始将其应用于地理信息系统,研究海图的自动读入、自动生成方法。数字图像处理技术的应用领域不断拓展。数字图像处理技术的大发展是从20世纪90年代初开始的。自1986年以来,小波理论和变换方

14、法迅速发展,它克服r傅里叶分析不能用于局部分析等方面的不足之处,被认为是调和分析半个世纪以来工作之结晶。Ma11at于1988年有效地将小波分析应用于图像分解和重构。小波分析被认为是信号,图像分析在数学方法上的重大突破。随后数字图像处理技术迅猛发展,到目前为止,图像处理在图像通讯、办公自动化系统、地理信息系统、医疗设备、卫星照片传输及分析和工业自动化领域的应用越来越多。进入21世纪,随着计算机技术的迅猛发展和相关理论的不断完善,数字图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就。属于这些领域的有航空航天、生物医学、机器人视觉、公安司法、军事制导、文化艺术等。该技术成为一门引人注

15、目、前景远大的新学科。1.2 图像增强的研究及发展现状图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像,有效地去除图像中的噪声、增强图像中的边缘或其他感兴趣的区域,从而更加容易对图像中感兴趣的目标进行检测和测量5。处理后的图像是否保持原状已经是无关紧要的了,不会因为考虑到图像的一些理想形式而去有意识的努力重现图像的真实度。图像增强的目的是增强图像的视觉效果,将原图像转换成一种更适合于人眼观察和计算机分析处理的形式。它一般要借助人眼的视觉

16、特性,以取得看起来较好地视觉效果,很少涉及客观和统一的评价标准。增强的效果通常都与具体的图像有关系,靠人的主观感觉加以评价。图像增强处理的应用已经渗透到医学诊断、航空航天、军事侦察、指纹识别、无损探伤、卫星图片的处理等领域。如对x射线图片、CT影像、内窥镜图像进行增强,使医生更容易从中确定病变区域,从图像细节区域中发现问题;对不同时间拍摄的同一地区的遥感图片进行增强处理,侦查是否有敌人军事调动或军事装备及建筑出现;在煤矿工业电视系统中采用增强处理来提高工业电视图像的清晰度,克服因光线不足、灰尘等原因带来的图像模糊、偏差等现象,减少电视系统维护的工作量。图像增强技术的快速发展同它的广泛应用是分不

17、开的,发展的动力来自稳定涌现的新的应用,我们可以预料,在未来社会中图像增强技术将会发挥更为重要的作用6。在图像处理过程中,图像增强是十分重要的一个环节。本文的主要内容就是围绕图像增强部分的一些基本理论和算法而展开。2 图像增强基础2.1 为什么要进行图像增强图像增强是数字图像处理中的重要而基本的内容。增强的首要目标是处理图象,使其比原始图象更适合特定应用。通过直方图均衡化技术来实现图像增强,首先就是对原图像通过离散函数进行直方图处理。得到原图像的直方图后,根据均衡化的变换函数通过计算得到所需要的增强效果的图像的直方图。阐述和分析了图像增强的点处理、空间域滤波、频域滤波、代数运算。用直方图均衡化

18、的算法增强灰度图像,并在VC 6.0中实现,达到了图象增强的目的,取得了较好的效果。 数字图像的增强是图像处理中的一个重要研究内容之一,是图像处理的一项基本技术。图像增强是指按特定的需要突出一幅图像的某些信息,同时,削弱或除去某些不需要的信息的处理方法。通过对本课题的毕业设计,能从以上几个方面来认识数字图像的有关知识,深刻理解数字图像的增强方法,特别是直方图均衡化方法的理论知识及其相关应用。同时,能使本人掌握进行科学研究的基本方法和步骤,进一步熟悉VC6.0等软件开发工具的使用。熟练掌握软件开发的基本步骤和过程以及论文撰写的格式,加强了理论知识的应用,很好地锻炼了自己的理论联系实际的能力。 数

19、字图像增强只是数字图像处理的一个小部分。我们要做好数字图像增强就先要了解数字图像处理的内容。下面我们来介绍一下数字图像处理。 数字图像处理是一门多学科的综合学科,它会聚了光学、电子学、数学、摄影技术和计算机技术等众多学科方面。它通过对原始图像的加工,使之能具备更好的视觉效果或能满足某些应用的特定要求。数字图像处理和光电检测技术、计算机科学、多媒体技术及专家系统等技术密切相关,经过半个多世纪的发展,目前已广泛地应用于工业、医疗保健、航空航天、军事等各个领域。它是一门偏重于应用的工程学科。作为计算机应用系列课程的一门实用性较强的课程,利用计算机进行数字图像处理已成为计算机应用的重要分支之一。本课程

20、操作性和实用性较强,能充分发挥你的兴趣及悟性。2.2图像增强的定义图像增强是指按特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法,也是提高图像质量的过程7。图像增强的目的是使图像的某些特性方面更加鲜明、突出,使处理后的图像更适合人眼视觉特性或机器分析,以便于实现对图像的更高级的处理和分析。图像增强的过程往往也是一个矛盾的过程:图像增强希望既去除噪声又增强边缘。但是,增强边缘的同时会同时增强噪声,而滤去噪声又会使边缘在一定程度上模糊,因此,在图像增强的时候,往往是将这两部分进行折中,找到一个好的代价函数达到需要的增强目的8。传统的图像增强算法在确定转换函数时常是基于整

21、个图像的统计量,如:ST转换,直方图均衡,中值滤波,微分锐化,高通滤波等等。这样对应于某些局部区域的细节在计算整幅图的变换时其影响因为其值较小而常常被忽略掉,从而局部区域的增强效果常常不够理想,噪声滤波和边缘增强这两者的矛盾较难得到解决。2.3.常用的图像增强方法图像增强可分成两大类:频率域法和空间域法。前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声9。

22、 图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配10。在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。图像增强技术根据增强处理过程所在的空间不同,可分为基于空间域的算法和基于频率域的算法两大类。基于空间域的算法处理时直接对图像灰度级做运算;基于频率域的算法是在图像的某种变换域内对图像的变换系数值11进行某种修正,是一种间接增强的算法。 基于空间域的算法分为点运算算法和邻域去噪算法。点运算算法即灰度级校正、灰度变换和直方图修正等,目的或使图像成像均匀,或扩大图像动

23、态范围,扩展对比度。邻域增强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊。常用算法有均值滤波、中值滤波。锐化的目的在于突出物体的边缘轮廓,便于目标识别。常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法12等。(1)直方图均衡化有些图像在低值灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚。这时可以通过直方图均衡化将图像的灰度范围分开,并且让灰度频率较小的灰度级变大,通过调整图像灰度值的动态范围13,自动地增加整个图像的对比度,使图像具有较大的反差,细节清晰。(3)平滑噪声有些图像是通过扫描仪扫描输入或传输通道传输过来的。图像中往往包含有各种各样的

24、噪声。这些噪声一般是随机产生的,因此具有分布和大小不规则性的特点。这些噪声的存在直接影响着后续的处理过程,使图像失真。图像平滑就是针对图像噪声的操作,其主要作用是为了消除噪声,图像平滑的常用方法是采用均值滤波或中值滤波,均值滤波是一种线性空间滤波,它用一个有奇数点的掩模在图像上滑动,将掩模中心对应像素点的灰度值用掩模内所有像素点灰度的平均值代替14,如果规定了在取均值过程中掩模内各像素点所占的权重,即各像素点所乘系数,这时就称为加权均值滤波;中值滤波是一种非线性空间滤波,其与均值滤波的区别是掩模中心对应像素点的灰度值用掩模内所有像素点灰度值的中间值代替。2.4 图像增强流程图NNY输入图像 预

25、处理增强算法处理得到增强参数保存退出最佳结果结束开始图2-1 图像增强流程图3 图像平滑3.1图像平滑的目的图像平滑的目的主要是为了减少图像的噪声。大部分噪声, 如由敏感元件、传输通道、量化器等引起的噪声,几乎都是随机性的。它们对某一像素点的影响, 我们可以看作是孤立的, 因此, 和临近各点相比, 该点灰度值将有显著的不同。基于这一分析, 我们可以用所谓邻域平均的方法来判断每一点是否含有噪声, 并用适当的方法来消除所发现的噪声。这实际上就是一种空间域的图像平滑方法。3.2图像平滑的方法3.2.1 线性平滑在该软件中, 我们采用模板法来实现对图像的平滑。模板法的思想是通过一个点和它周围的几个点的

26、某种运算( 通常是平均运算) 来消除突然变化的点, 从而滤掉一定的噪声。但是图像却会有一定程度的模糊。而模板的取法不同, 中心点或邻域的重要程度也不同。因此, 在实际应用时, 必须根据不同噪声的特性来选取不同的模板。常用的模板有: 上面的第一个模板叫做平均模板, 第二个模板叫做高斯模板。模板法的运算过程是: 先用模板中心点逐一对准每一个像素 h( m , n) , 然后将模板之元素与它所压上的图像元素对应相乘, 最后求和, 其结果就是该中心像素点平滑后的输出 h ( m, n ) 。这里存在一个问题就是如何处理图像边缘两行两列的元素。一种方法是采用补充的办法, 即补充四周两行两列的像素, 既可

27、以用外插法, 也可以直接取与最上、最下两行, 最左、最右两列元素完全相同的两行、两列元素来补充; 另一种更为简单的方法是不允许模板移出边界, 而对边界上无法处理的点, 直接复制原图像的灰度值。在本软件当中, 采用的是后一种处理方法。在利用 VC+ + 6. 0 实现时, 我们主要定义了一个通用的模板操作函数 Template( ) , 该函数的参数包含两个方面的信息。一是我们必须得到要处理的图像的信息, 包含指向图像像素的指针和图像的高、宽信息; 二是必须指定要变换的模板信息, 包含模板大小信息、模板系数、模板元素数组、模板中心元素的位置信息。最后利用这两个方面的信息对图像进行前述的逐点运算。

28、该函数支持任何不超过 5 5 的模板操作。3.2.2 非线性平滑中值滤波是一种非线性的信号处理方法。它通常采用一个含有奇数个点的滑动窗口, 将窗口中各点灰度值的中值来替代指定点( 一般是窗口中心点) 的灰度值。对于奇数个元素, 中值是指按指定大小排序后, 中间的数值; 对于偶数个元素, 中值是指排序后中间两个元素灰度值的平均值。 4 图像平滑算法与实现4.1 均值滤波4.1 .1基本原理均值滤波是简单的空间域处理方法这种方法的基本思想是用几个像素灰度平均值来代替每个像素的灰度,假定有一幅NN个像素的图像f(x,y),平滑处理后得到另一幅图像g(x,y)。g(x,y)由公式决定:式中x,y=0

29、,1,N-1 ;s为(x,y)邻域中像素坐标集合,亦称为窗口,其中不包括(x,y);M表示集合s内像素的总数。4.1.2 实现方法均值滤波方法是,对待处理的当前像素,选择一个模板,该模板为其近邻的若干像素组成,用模板中像素的均值来替代原像素的方法。如图123804765图4-1均值滤波原理示意图序号为0的是当前像素,序号为18的像素是其模板中的邻家像素。求模板中所有像素的均值,再把该均值赋予当前像素点,作为处理后图像在该点上的灰度,即 (4.7)其中,s为模板,M为该模板中包含当前像素在内的像素总个数。考虑到数据分布的平衡性,本文中模板选择为33,待处理像素放在模板的中心。为了使输出像素值保持

30、在原理的灰度值范围内,模板的权值总和应该维持为1。模板与模板像素的乘积要除以一个系数(通常是模板系数之和),这个过程也被称为模板的归一化。模板的描述还可以采用矩阵的形式,入33的均值滤波可以描述如下: 该模板的响应计算为 从模板的含义来理解,经过均值处理之后,噪声部分被弱化到周围像素点上,所以得到的结果是噪声幅值减小,但是噪声点的颗粒面积同时变大。另外,均值滤波有一个非常致命的缺点,就是在求均值的计算中,会同时将景物的边缘也同时进行均值处理,这样就使得景物的清晰度降低,画面变的模糊。4.1.3 程序源代码void CDIPDemoView:OnEnhaSmooth() 获取文档CDIPDemo

31、Doc* pDoc = GetDocument(); 输入对象 CImgProcess imgInput = pDoc-m_Image; 检查图像是灰度图 if (imgInput.m_pBMIH-biBitCount!=8)AfxMessageBox(不是8-bpp灰度图像,无法处理!); 输出的临时对象return; CImgProcess imgOutput = imgInput;intnTempH; 模板高度intnTempW; 模板宽度FLOAT fTempC; 模板系数intnTempMX; 模板中心元素X坐标intnTempMY 模板中心元素Y坐标FLOATaValue25 =

32、1.0, 1.0, 1.0, 0.0, 0.0, 模板元素数组赋初值(默认为平均模板)1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0,0.0, 0.0, 0.0, 0.0, 0.0,0.0, 0.0, 0.0, 0.0, 0.0,;CDlgSmooth dlgPara; 创建对话框dlgPara.m_intType = 0; 初始化对话框变量值dlgPara.m_iTempH = 3;dlgPara.m_iTempW = 3;dlgPara.m_iTempMX = 1;dlgPara.m_iTempMY = 1;dlgPara.m_fTempC

33、 = (FLOAT) (1.0 / 9.0);dlgPara.m_fpArray = aValue; if (dlgPara.DoModal() != IDOK) 显示对话框,提示用户设定参数return; 返回nTempH = dlgPara.m_iTempH; 获取用户设定的参数nTempW = dlgPara.m_iTempW;nTempMX = dlgPara.m_iTempMX;nTempMY = dlgPara.m_iTempMY;fTempC = dlgPara.m_fTempC;BeginWaitCursor(); 更改光标形状imgInput.Template(&imgOut

34、put, nTempH, 调用Template()函数实现平滑滤波 nTempW, nTempMY, nTempMX, aValue, fTempC); pDoc-m_Image = imgOutput; 将结果返回给文档类pDoc-SetModifiedFlag(TRUE); 设置脏标记pDoc-UpdateAllViews(NULL); 更新视图EndWaitCursor(); 恢复光标4.1.4 结果输出及分析 输出结果 图4-2 原图像 图4-3 加入噪声后的图像 图4-4 均值滤波后的图像结果分析从上面的简单例子可以看到,均值滤波方法抑制噪声算法简单,计算速度快。然而对于模板宽度较大

35、的图像,在降低噪声的同时也使图像产生模糊,特别是在景物的边缘和细节处,模板越大,虽然噪声抑制效果越好,但同时画面的模糊度也更加严重。均值滤波速度快,算法简单,可以平滑图像,但是降噪效果较差,“均方根误差”、“均方根信噪比”均较大,无法彻底去掉噪声,只能微弱地减弱它。4.2高斯滤波4.2.1基本原理高斯滤波器采用的滤波核为2维高斯函数,可以通过调整高斯函数中方差值改变频谱曲线的陡峭程度,方差值增大曲线趋于平缓,平滑效果明显。高斯曲线的形状决定了它可以更好地处理连续分布的噪声模型,而对突变的噪声模型处理效果偏弱。4.2.2实现方法高斯平滑就是将每个像素的灰度值用其领域的加权平均值代替。该算法简单能

36、够有效左除高斯噪声。二维高斯函数的表达式为:高斯函数是单值函数。这表明高斯滤波器用像素邻域的加权均值来替代该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的。高斯滤波是一种根据高斯函数的形状来选择模板权值的线性平滑滤波方法。高斯平滑滤波器对去除服从正态分布的噪声是很有效果的。高斯函数具有5个重要性质:(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的。一般来说一幅图像的边缘方向是不知道的。因此,在滤波之前是无法确定一个方向比另一个方向上要更多的平滑的。旋转对称性意味着高斯滤波器在后续的图像处理中不会偏向任一方向。(2)高斯函数是单值函数。高斯滤波器用像素邻

37、域的加权均值来代替该点的像素值,而每一邻域像素点的权值是随着该点与中心点距离单调递减的。这一性质是很重要的,因为边缘是一种图像局部特征。如果平滑运算对离算子中心很远的像素点仍然有很大的作用,则平滑运算会使图像失真。(3)高斯函数的傅立叶变换频谱是单瓣的。这一性质是高斯函数傅立叶变换等于高斯函数本身这一事实的直接推论。图像常被不希望的高频信号所污染,而所希望的图像特征,既含有低频分量,又含有高频分量。高斯函数傅立叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需要的信号。(4)高斯滤波器的宽度(决定着平滑程度)是由参数表征的,而且和平滑程度的关系是非常简单的。越大,高斯

38、滤波器的频带就越宽,平滑程度就越好。通过调节平滑程度参数,可在图像特征分量模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷。(5)由于高斯函数的可分离性,大高斯滤波器可以有效实现。通过二维高斯函数的卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积的结果与方向垂直的相同一维高斯函数进行卷积。因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长。这些性质使得它在早期的图像处理中特别有用,表明高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器。4.2.3程序源代码void CDIPDemoView:OnEnhaSm

39、ooth() CDIPDemoDoc* pDoc = GetDocument(); 获取文档 CImgProcess imgInput = pDoc-m_Image; 输入对象if (imgInput.m_pBMIH-biBitCount!=8) 检查图像是灰度图AfxMessageBox(不是8-bpp灰度图像,无法处理!);return; CImgProcess imgOutput = imgInput; 输出的临时对象intnTempH; 模板高度intnTempW; 模板宽度FLOAT fTempC; 模板系数intnTempMX; 模板中心元素X坐标intnTempMY; 模板中心元

40、素Y坐标FLOATaValue25 = 1.0, 1.0, 1.0, 0.0, 0.0, 模板元素数组赋初值1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0,0.0, 0.0, 0.0, 0.0, 0.0,0.0, 0.0, 0.0, 0.0, 0.0,;CDlgSmooth dlgPara; 创建对话框dlgPara.m_intType = 0; 初始化对话框变量值 dlgPara.m_iTempH = 3; dlgPara.m_iTempW = 3; dlgPara.m_iTempMX = 1; dlgPara.m_iTempMY = 1;

41、dlgPara.m_fTempC = (FLOAT) (1.0 / 9.0); dlgPara.m_fpArray = aValue;if (dlgPara.DoModal() != IDOK) 显示对话框,提示用户设定参数return; 返回 nTempH = dlgPara.m_iTempH; 获取用户设定的参数nTempW = dlgPara.m_iTempW;nTempMX = dlgPara.m_iTempMX;nTempMY = dlgPara.m_iTempMY;fTempC = dlgPara.m_fTempC; BeginWaitCursor(); 更改光标形状imgInpu

42、t.Template(&imgOutput, nTempH, nTempW, 调用Template()函数 nTempMY, nTempMX, aValue, fTempC); pDoc-m_Image = imgOutput; 将结果返回给文档类pDoc-SetModifiedFlag(TRUE); 设置脏标记pDoc-UpdateAllViews(NULL); 更新视图EndWaitCursor(); 恢复光标4.2.4结果输出及分析输出结果 图4-5 原图像 图4-6 加入噪声后的图像 图4-7高斯滤波处理的图片结果分析发现高斯滤波对随机噪声和高斯噪声(尤其是服从正态分布的噪声)的去除效

43、果都比较好,但是对于椒盐噪声的去除就欠佳,似乎在把噪声的幅度减小的同时也把噪声点变大了。因此在作平滑处理时要针对不同的图像噪声采用不同的滤波器才能获得好的效果。高斯滤波对随机噪声和高斯噪声(尤其是服从正态分布的噪声)的去除效果都比较好,但是对于椒盐噪声的去除就欠佳。对于高斯滤波器,模板的大小对滤波效果影响不大。高斯滤波虽然能够在一定程度上去掉噪声,但也使得图象变得模糊不清,效果并不能令人满意。4.3中值滤波4.3.1基本原理中值滤波是基于排序系统理论的一种能有效抑制噪声的非线性信号处理技术。在一维形式下,一维中值滤波器含有奇数个数的滑动模板,对模板中的数据由小到大,取排在中间位置上的数据作为最

44、终的处理结果。 虽然均值滤波器对噪声有抑制作用,但同时会使图像变得模糊。即使是加权均值波,改善的效果也是有限的。为了有效地改善这一状况,必须改换滤波器的设计思路,中值滤波就是一种有效的方法。下面,以一个简单的一维数据序列的滤波为例,介绍中值滤波原理。设模板的长度为5,模板中的数据设为10,15,45,20,25,则Med10,15,45,20,2520(Med表示取中值函数)。如果该模板中的数据为某个图像中的一个局部的数据,从数据的分布规律来看,原理模板中心位置上的像素值为45,较其周围的像素值大,画面上一定会出现一个突变的噪声点。经过中值滤波处理后的值为20,与周围的像素差异不大,由此就得到

45、了抑制噪声的效果。中值滤波的核心运算是将模板中的数据进行排序,这样,如果一个亮点(暗点)为噪声,就会在排序过程中被排在数据序列的最右侧或者是最左侧,因此,最终选择的数据序列中间位置上的值一般不是噪声点的值,由此便可以达到抑制噪声的目的。4.3.2 实现方法中值滤波器是一种非线性统计滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序的中间值代替中心像素的值。它比小尺寸的线性平滑滤波器的模糊程度明显要低,对处理脉冲噪声(椒盐噪声)非常有效。中值滤波器的主要功能是使拥有不同灰度的点看起来更接近于它的邻近值,去除那些相对于其邻域像素更亮或更暗,并且其区域小于滤波器区域一半的孤立像

46、素集。在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。在处理之后,位于窗口正中的像素的灰度值,用窗口内各像素灰度值的中值代替。例如若窗口长度为5,窗口中像素的灰度值为80、90、200、110、120,则中值为110,因为按小到大(或大到小)排序后,第三位的值是110。于是原理的窗口正中的灰度值200就由110取代。如果200是一个噪声的尖峰,则将被滤除。然而,如果它是一个信号,则滤波后就被消除,降低了分辨率。因此中值滤波在某些情况下抑制噪声,而在另一些情况下却会抑制信号。 将中值滤波推广到二维的情况。二维窗口的形式可以是正方形、近似圆形的或十字形等。本次作业使用正方形模板进行滤波,它的

47、中心一般位于被处理点上。窗口的大小对滤波效果影响较大。在利用 VC+ 6. 0 实现时, 我们主要定义了一个中值滤波函数 MedianFilter( ) , 其参数既包含欲处理图像的像素指针和高、宽信息, 又包含滤波器的高、宽和中心元素的位置信息。在函数体当中, 我们先用一个数组保存滤波器所覆盖的像素点的灰度值, 然后利用冒泡法对该数组的元素进行排序, 最后取其中值。4.3.3 程序源代码void CDIPDemoView:OnENHAMidianF() 获取文档CDIPDemoDoc* pDoc = GetDocument(); 输入对象CImgProcess imgInput = pDoc

48、-m_Image; if (imgInput.m_pBMIH-biBitCount!=8) 检查图像是灰度图AfxMessageBox(不是8-bpp灰度图像,无法处理!);return; int nFilterH; 滤波器的高度int nFilterW; 滤波器的宽度int nFilterMX; 中心元素的X坐标int nFilterMY; 中心元素的Y坐标CDlgMidFilter dlgPara; 创建对话框dlgPara.m_iFilterType = 0; 初始化变量值dlgPara.m_iFilterH = 3;dlgPara.m_iFilterW = 1;dlgPara.m_iF

49、ilterMX = 0;dlgPara.m_iFilterMY = 1;if (dlgPara.DoModal() != IDOK) 显示对话框,提示用户设定参数return; 返回nFilterH = dlgPara.m_iFilterH; 获取用户的设定nFilterW = dlgPara.m_iFilterW;nFilterMX = dlgPara.m_iFilterMX;nFilterMY = dlgPara.m_iFilterMY;BeginWaitCursor(); 更改光标形状CImgProcess imgOutput = imgInput; 输出的临时对象 imgInput.M

50、edianFilter(&imgOutput, nFilterH, 调用MedianFilter()函数中值滤波 nFilterW, nFilterMY, nFilterMX);pDoc-m_Image = imgOutput; 将结果返回给文档类pDoc-SetModifiedFlag(TRUE); 设置脏标记pDoc-UpdateAllViews(NULL); 更新视图EndWaitCursor(); 恢复光标 void CDIPDemoView:OnENHAAdaptMidianF() 自适应中值滤波CDIPDemoDoc* pDoc = GetDocument(); 获取文档CImgP

51、rocess imgInput = pDoc-m_Image; 输入对象 if (imgInput.m_pBMIH-biBitCount!=8) 检查图像是灰度图AfxMessageBox(不是8-bpp灰度图像,无法处理!);return; int nFilterH; 滤波器的高度int nFilterW; 滤波器的宽度int nFilterMX; 中心元素的X坐标int nFilterMY; 中心元素的Y坐标CDlgMidFilter dlgPara; 创建对话框 dlgPara.m_iFilterType = 0; 初始化变量值dlgPara.m_iFilterH = 3;dlgPara

52、.m_iFilterW = 1;dlgPara.m_iFilterMX = 0;dlgPara.m_iFilterMY = 1; if (dlgPara.DoModal() != IDOK) 显示对话框,提示用户设定参数return; 返回nFilterH = dlgPara.m_iFilterH; 获取用户的设定nFilterW = dlgPara.m_iFilterW;nFilterMX = dlgPara.m_iFilterMX;nFilterMY = dlgPara.m_iFilterMY;BeginWaitCursor(); 更改光标形状 CImgProcess imgOutput

53、= imgInput; 输出的临时对象imgInput.AdaptiveMedianFilter 调用AdaptiveMedianFilter()函数自适应中值滤波 (&imgOutput, nFilterH, nFilterW, nFilterMY, nFilterMX); pDoc-m_Image = imgOutput; 将结果返回给文档类 pDoc-SetModifiedFlag(TRUE); 设置脏标记pDoc-UpdateAllViews(NULL); 更新视图EndWaitCursor(); 恢复光标4.3.4结果输出及分析结果输出 图4-8 原图像 图4-9 加入噪声后的图像

54、图4-10 31中值滤波 图4-11 13中值滤波 图4-12 33中值滤波结果分析中值滤波方法抑制噪声算法虽然比均值滤波算法略微复杂,但是对画面清晰度的保持方面却比均值滤好很多。但是,适当的选择模板的大小于结构形状也非常重要。如果模板取太多,也可能使图像的清晰度遭到了一定程度的破坏。中值滤波是常用的非线性滤波方法 ,也是图像处理技术中最常用的预处理技术。它在平滑脉冲噪声方面非常有效。但在处理图像边缘及方向性很强的图像进行滤波处理时,还需要进一步引入其他信息,才可达到较为完整的降噪效果。结 论本次毕业设计题目是基于C+图像增强算法研究,虽然设计的时间不是很长,但在这短短的十三周的时间里确实使我

55、学到了很多东西,在刘博老师的细心教导下,我学会许多关于图像增强方面的知识,对今后的工作学习有很大的帮助。图像增强,拟人说法是给图像“化妆”,是按照特定的需要有选择的突出图像中的某些信息,削弱或去除某些不需要的信息的处理方法。数字图像增强技术是数字图像处理的基本技术,图像增强的目的是突出图像中人或者机器感兴趣的特征部分,为后续的图像识别、理解、输出显示等服务。在论文进行过程中,在导师的悉心指导下,在对传统的图像增强技术的研究和大量的实验仿真下完成的图像增强算法的研究。总结如下:图像增强的方法有很多种,针对不对图像的情况运用不同的增强技术,使图像更容易让人识别、更清晰,是本课题主要的研究目的。图像一般都会受到噪声的影响,使得图像分辨率下降,同时破坏了图像的精细结构,给图像的后续处理带来不便。因此如何有效抑制噪声已成为图像处理中极重要和首要的任务。图像降噪的目的是提高图像的信噪比,突出图像的应用的特征,本文介绍了“均值滤波”、“中值滤波”、

温馨提示

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

评论

0/150

提交评论