基于Visual-C++的数字图像处理_第1页
基于Visual-C++的数字图像处理_第2页
基于Visual-C++的数字图像处理_第3页
基于Visual-C++的数字图像处理_第4页
基于Visual-C++的数字图像处理_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、大连海事大学装订线毕 业 论 文二一四年六月基于Visual C+的数字图像处理专业班级: 通信4班 姓 名: 刘万程 指导教师: 刘剑桥 信息科学技术学院摘 要图像增强是图像处理的重要方面。它是指依据图像所存在的问题,按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些冗余信息的处理方法。其主要目的是使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。图像增强单纯从技术上可分成两大类:一类是频域处理法;一类是空域处理法。频域处理法的采用的是卷积定理,它利用修改图像傅立叶变换的方法

2、实现对图像的增强处理;空域处理法则是对图像中的像素进行直接的处理,大多数是以灰度映射变换为基础的,所用的映射变换取决于增强的目的。本文针对数字图像文件,进行数字图像处理。本文采用了灰度增强、直方图增强、图像平滑、图像锐化等多种方法对数字图像文件进行处理。本文围绕图像处理的算法而展开,在阐明图像处理基本方法的基础上,就几种有代表性的图像处理算法, 进行了研究、比较,分析了各自的优缺点并指明了其最佳适用场景,以期从中总结出一套行之有效的图像增强算法的应用指导规则。本文在Microsoft Visual Studio 2008开发环境下,借助于Cimage类,设计并实现了基于Visual C+的数字

3、图像处理系统,得到了较好的处理效果。关键词:图像增强;图像平滑;图像锐化;算法IABSTRACTThe image intensification is refers according to specific needs to highlight in an image certain information, simultaneously, weakens the information processing method which or removes certain does not need. Its main purpose is the processing image is

4、more effective than to certain specific applications the original image. The image intensification technology mainly contains histogram revision processing, image smooth processing, image intensification processing and the colored processing technology and so on.The image intensification technology

5、basically separable becomes two big kinds: One kind is the frequency range processing , one kind is the air zone processing law. The frequency range processing method foundation convolutes the theorem. It uses the revision image Fourier transformation the method realization to image enhancement proc

6、essing.In this paper, we do digital image processing to digital image files. We use gray scale enhancement, histogram enhancement, image smoothing, image sharpening to do image processing.This paper focuses on the algorithms of image processing. On the basis of the basic methods of image processing

7、on enunciated, we study and compare the advantage and disadvantage of some weighted algorithms in order to explanation the best application scenarios of them. So as to summary some rules of digital image processing.In the development environment of Microsoft Visual Studio 2008, according to the clas

8、s of Cimage, this paper designs and achieve a system of digital image processing based on Visual C+ and gets good treatment effect .Keywords: image enhancement, image smoothing ,image smoothing, algorithmsIV目 录摘 要I第1章 绪论11.1 课题研究的背景及意义11.2 图像增强的研究及发展现状21.3 论文内容3第2章 图像增强的基本理论12.1 数字图像的基本理论12.1.1 数字图像

9、的表示12.1.2 图像的灰度12.1.3 灰度直方图12.2 数字图像增强概述22.3 图像增强概述32.3.1 图像增强的定义32.3.2 常用的图像增强方法42.4 本章小结5第3章 数字图像增强的方法与原理63.1 灰度变换增强63.1.1 线性灰度增强63.2.2 分段线性灰度增强63.2.3 非线性灰度增强73.3 直方图增强83.3.1 直方图修正基础83.3.2 直方图均衡化93.3.3 直方图规定化103.4 图像平滑113.4.1 邻域平均法113.4.2 加权平均法113.4.3 中值滤波法123.5 图像锐化123.5.1 梯度锐化123.5.2 拉普拉斯锐化133.6

10、 本章小结13第4章 数字图像增强的算法与实现144.1 线性灰度增强的算法与实现144.1.1 基本原理144.1.2 算法描述144.1.3 编程实现144.1.4 效果演示154.2 分段线性灰度增强的算法与实现154.2.1 基本原理154.2.3 编程实现164.2.4 效果演示184.3 非线性灰度增强的算法与实现184.3.1 基本原理184.3.2 算法描述184.3.3 编程实现194.3.4 效果演示194.4 直方图均衡化的算法与实现204.4.1 基本原理204.4.2 算法描述204.4.3 编程实现204.4.4 效果演示224.5 邻域平均法平滑的算法与实现234

11、.5.1 基本原理234.5.2 算法描述234.5.3 编程实现234.5.4 效果演示244.6 加权平均法平滑的算法与实现254.6.1 基本原理254.6.2 基本算法254.6.3 编程实现254.6.4 效果演示274.7 中值滤波法平滑的算法与实现274.7.1 基本原理274.7.2 基本算法274.7.3 编程实现274.7.4 效果演示304.8 梯度锐化的算法与实现304.8.1 基本原理304.8.2 算法描述314.8.3 编程实现314.8.4 效果演示34第5章 总结35参 考 文 献36致 谢37基于Visual C+的数字图像处理基于Visual C+的数字图

12、像处理第1章 绪论图像是人类从外界获取的主要信息来源之一。随着计算机科学的发展,图像处理的方法也得到了促进与增强。如今图像处理已成为数字信号处理中极为重要的领域之一。1.1 课题研究的背景及意义数字图像处理技术是20世纪60年代随着计算机技术和VLSI(Very Large Scale Integrator)的发展而产生、发展和不断成熟起来的一个新兴技术领域,它在理论上和实际应用中都取得了巨大的成就1。视觉是人类最重要的感知手段,图像又是视觉的基础。早期图像处理的目的是改善图像质晕,它以人为对象,以改善人的视觉效果为目的。图像处理中输入的是质量低的图像,输出的是改善质量后的图像。常用的图像处理

13、方法有图像增强、复原、编码、压缩等。首次获得成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片进行图像处理,如:几何校正、灰度变换、去除噪声,并考虑了太阳位和月球环境的影响,由计算机成功地绘出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,获得月球的地形图、彩色图及全景镶嵌图,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术探测研究中,数字图像处理技术都发挥巨大的作用2。数字图像处理技术取得的另一个巨大成就是在医学上。1972年英国EMI公司工程师Housfiel

14、d发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(Computer Tomograph),CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术被授予诺贝尔奖,以表彰它对人类做出的划时代贡献。从20世纪70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理技术向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国

15、家投入更多的人力、物力到这项研究,取得了不少的重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理沦,这个理论成为计算机视觉领域其后十多年的主导思想3。20世纪80年代末期,人们开始将其应用于地理信息系统,研究海图的自动读入、自动生成方法。数字图像处理技术的应用领域不断拓展。数字图像处理技术的大发展是从20世纪90年代初开始的。自1986年以来,小波理论和变换方法迅速发展,它克服傅里叶分析不能用于局部分析等方面的不足之处,被认为是调和分析半个世纪以来工作之结晶。Mallat于1988年有效地将小波分析应用于图像分解和重构。小波分析被认为是信号,图像分析在数学方法上的重大

16、突破。随后数字图像处理技术迅猛发展,到目前为止,图像处理在图像通讯、办公自动化系统、地理信息系统、医疗设备、卫星照片传输及分析和工业自动化领域的应用越来越多。进入21世纪,随着计算机技术的迅猛发展和相关理论的不断完善,数字图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就。属于这些领域的有航空航天、生物医学、机器人视觉、公安司法、军事制导、文化艺术等。该技术成为一门引人注目、前景远大的新学科。1.2 图像增强的研究及发展现状图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的

17、原始图像处理成清晰的富含大量有用信息的可使用图像,有效地去除图像中的噪声、增强图像中的边缘或其他感兴趣的区域,从而更加容易对图像中感兴趣的目标进行检测和测量4。处理后的图像是否保持原状已经是无关紧要的了,不会因为考虑到图像的一些理想形式而去有意识的努力重现图像的真实度。图像增强的目的是增强图像的视觉效果,将原图像转换成一种更适合于人眼观察和计算机分析处理的形式。它一般要借助人眼的视觉特性,以取得看起来较好地视觉效果,很少涉及客观和统一的评价标准。增强的效果通常都与具体的图像有关系,靠人的主观感觉加以评价5。图像增强处理的应用已经渗透到医学诊断、航空航天、军事侦察、指纹识别、无损探伤、卫星图片的

18、处理等领域。如对x射线图片、CT影像、内窥镜图像进行增强,使医生更容易从中确定病变区域,从图像细节区域中发现问题;对不同时间拍摄的同一地区的遥感图片进行增强处理,侦查是否有敌人军事调动或军事装备及建筑出现;在煤矿工业电视系统中采用增强处理来提高工业电视图像的清晰度,克服因光线不足、灰尘等原因带来的图像模糊、偏差等现象,减少电视系统维护的工作量。图像增强技术的快速发展同它的广泛应用是分不开的,发展的动力来自稳定涌现的新的应用,我们可以预料,在未来社会中图像增强技术将会发挥更为重要的作用6。数字图象处理技术的研究和应用离不开程序设计,Visual C+则是最强大,最常用的的数字图象处理开发工具之一

19、7。在图像处理过程中,图像增强是十分重要的一个环节。本文的主要内容就是围绕图像增强部分的一些基本理论和算法而展开。基于Visual C+的图像增强算法研究。1.3 论文内容传统的图像增强算法在确定转换函数时常是图像变换、灰度变换、直方图变换、图像平滑与锐化、色彩增强等。常用的一些图像增强方法是学习图像增强的基础,至今它们对于改善图像质量仍发挥着重要的作用。本文着重研究了这些增强方法对图像进行增强处理,针对图像增强的普遍性问题,研究和实现常用的图像增强方法及其算法,讨论不同的增强算法的适用场合,并对其图像增强方法进行性能评价。全文共分六章,具体安排如下。第一章引言。介绍图像增强技术的课题背景和意

20、义、本文的研究内容。第二章图像处理的基本理论。阐述图像增强中用到的有关数字图像的一些基本概念;概述常用的一些图像增强方法及其特点,如灰度变换、直方图均衡化。第三章图像处理具体实现及算法。第四章图像增强的结果与分析。最后是总结与致谢,论文的结尾附有源程序代码。38基于Visual C+的数字图像处理第2章 图像增强的基本理论图像增强通过有选择地突出便于人或机器分析的某些感兴趣的信息,抑制一些无用的信息,以提高图像的使用价值。本文运用图像增强的方法对数字图像进行处理,灰度变换,锐化以及平滑等常用图像增强的方法。2.1 数字图像的基本理论2.1.1 数字图像的表示图像并不能直接用计算机来处理,处理前

21、必须先转化成数字图像。早期一般用picture代表图像,随着数字技术的发展,现在都用image代表离散化了的数字图像。由于从外界得到的图像多是二维(2-D)的,一幅图像可以用一个2-D数组表示。这里x和y表示二维空间X、Y中一个坐标点的位置,而f则代表图像在点的某种性质数值。为了能够用计算机对图像进行处理,需要坐标空间和性质空间都离散化。这种离散化了的图像都是数字图像,即都在整数集合中取值。图像中的每个基本单元称为图像的元素,简称像素。2.1.2 图像的灰度常用的图像一般是灰度图,这时f表示灰度值,反映了图像上对应点的亮度。亮度是观察者对所看到的物体表面反射光强的量度。作为图像灰度的量度函数应

22、大于零。人们日常看到的图像一般是从目标上反射出来的光组成的,所以可看成由两部分构成:入射到可见场景上光的量;场景中目标对反射光反射的比率。确切地说它们分别称为照度成分和反射成分。与和都成正比,可表示成。将二维坐标位置函数称为灰度。入射光照射到物体表面的能量是有限的,并且它永远为正,即;反射系数为0时,表示光全部被物体吸收,反射系数为1时,表示光全部被物体反射,反射系数在全吸收和全反射之间,即。因此图像的灰度值也是非负有界的8。2.1.3 灰度直方图灰度直方图是数字图像处理中一个最简单、最有用的工具,它反映了数字图像中每一灰度级与其出现频率之间的统计关系。可以有针对性地通过改变直方图的灰度分布状

23、况,使灰度均匀地或按预期目标分布于整个灰度范围空间,从而达到图像增强的效果9。灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,如图2.1所示,(b)为图像(a)的灰度直方图,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(像素的个数)。 a) 源图像 b)源图像的直方图图2.1 灰度直方图2.2 数字图像增强概述随着数字技术的不断发展和应用,现实生活中的许多信息都可以用数字形式的数据进行处理和存储,数字图像就是这种以数字形式进行存储和处理的图像。利用计算机可以对它进行常现图像处理技术所不能实现的加工处理,还可以将它在网上传输,可以多次拷贝而不失真。数字图像处理亦称为计

24、算机图像处理,指将图像信号转换成数字格式并利用计算机对其进行处理的过程。数字图像处理系统主要由图像采集系统、数字计算机及输出设备组成10。如图2. 2所示。图像采集系统计算机图像输出设备模拟图像图2.2 数字图像处理系统图2.2仅仅是图像处理的硬件设备构成,图中并没有显示出软件系统,在图像处理系统中软件系统同样是非常重要的。在图像获取的过程中,由于设备的不完善及光照等条件的影响,不可避免地会产生图像降质现象。影响图像质量的几个主要因素是:(1)随机噪声,主要是高斯噪声和椒盐噪声,可以是由于相机或数字化设备产生,也可以是在图像传输过程中造成的;(2)系统噪声,由系统产生,具有可预测性质;(3)畸

25、变,主要是由于相机与物体相对位置、光学透镜曲率等原因造成的,可以看作是真实图像的几何变换。数字图像处理流程如图2.3所示,从一幅或是一批图像的最简单的处理,如特征增强、去噪、平滑等基本的图像处理技术,到图像的特征分析和提取,进而产生对图像的正确理解或者遥感图像的解译,最后的步骤可以是通过专家的视觉解译,也可以是在图像处理系统中通过一些知识库而产生的对图像的理解。原始图像预处理特征分析图像理解图2.3 图像处理流程图数字图像处理技术起源比较早,但真正发展是在八十年代后,随着计算机技术的高速发展而迅猛发展起来。到目前为止,图像处理在图像通讯、办公自动化系统、地理信息系统、医疗设备、卫星照片传输及分

26、析和工业自动化领域的应用越来越多。但就国内的情况而言,应用还是很不普遍,人们主要忙于从事于理论研究,诸如探索图像压缩编码等,而对于将成熟技术转化为生产力方面认识还远远不够。California大学的Tony chen教授认为,目前国际上最常用的三种图像处理框架是:基于变换的图像处理框架;基于偏微分方程(PDE)的图像处理框架;基于统计学的图像处理框架。其中基于变换的图像处理框架主要在实现图像压缩上有优势,而基于偏微分方程(PDE)的图像处理框架在图像的噪声去除、边缘提取、图像分割上有优势。事实上,除了这三种工具以外,数学形态学、神经网络等学科在图像去噪及图像分割方面也存在特有的优势11。2.3

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

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

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

30、强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊14。常用算法有均值滤波、中值滤波。锐化的目的在于突出物体的边缘轮廓,便于目标识别。常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。(1)直方图均衡化有些图像在低值灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚。这时可以通过直方图均衡化将图像的灰度范围分开,并且让灰度频率较小的灰度级变大,通过调整图像灰度值的动态范围,自动地增加整个图像的对比度,使图像具有较大的反差,细节清晰15。(2)对比度增强法有些图像的对比度比较低,从而使整个图像模糊不清。这时可以按一定的规则修改原来图像的每一个像素的灰度

31、,从而改变图像灰度的动态范围。(3)平滑噪声有些图像是通过扫描仪扫描输入或传输通道传输过来的。图像中往往包含有各种各样的噪声。这些噪声一般是随机产生的,因此具有分布和大小不规则性的特点。这些噪声的存在直接影响着后续的处理过程,使图像失真。图像平滑就是针对图像噪声的操作,其主要作用是为了消除噪声,图像平滑的常用方法是采用均值滤波或中值滤波,均值滤波是一种线性空间滤波,它用一个有奇数点的掩模在图像上滑动,将掩模中心对应像素点的灰度值用掩模内所有像素点灰度的平均值代替,如果规定了在取均值过程中掩模内各像素点所占的权重,即各像素点所乘系数,这时就称为加权均值滤波;中值滤波是一种非线性空间滤波,其与均值

32、滤波的区别是掩模中心对应像素点的灰度值用掩模内所有像素点灰度值的中间值代替。(4)锐化平滑噪声时经常会使图像的边缘变的模糊,针对平均和积分运算使图像模糊,可对其进行反运算采取微分算子使用模板和统计差值的方法,使图像增强锐化。图像边缘与高频分量相对应,高通滤波器可以让高频分量畅通无阻,而对低频分量则充分限制,通过高通滤波器去除低频分量,也可以达到图像锐化的目的10。2.4 本章小结本章对图像增强基本理论进行了阐述,图像增强是指按特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法,也是提高图像质量的过程。图像增强可分成两大类:频率域法和空间域法。进而对图像增强的基本理论进

33、行了逐步分析,阐明了图像的增强方法的种类及常用的几种方法。第3章 数字图像增强的方法与原理3.1 灰度变换增强图像的灰度变换增强处理技术中一种简单、直接的基于空间域的图像处理方法。在图像处理中,空间域是指由像素组成的空间,空间域增强方法是指直接作用于图像像素的增强方法。空间域处理可表示为其中,是增强前的图像;是增强处理后的图像;T是对f的一种操作,其定义在的邻域上。如果T定义在每个点上,则T称作点操作;如果T定义在的某个邻域上,则T称为模板操作。T操作最简单的形式是邻域为11的尺度(即单个像素),在这种情况下,的值仅仅依赖在点的值,T操作称为灰度变换函数。灰度变换函数描述了输入灰度值与输出灰度

34、值之间的转换关系。一旦灰度变换函数确定,则图像中每一个点的运算就可以完全确定下来。灰度变换主要针对独立的像素点进行处理,由输入像素点的灰度值决定相应的输出像素点的灰度值,通过改变原始图像数据所占的灰度范围而使图像在视觉上得到改观。灰度增强方法又分为线性灰度增强、分段线性灰度增强和非线性灰度增强。3.1.1 线性灰度增强假定原图像的灰度范围为,变换后的图像的灰度范围线性的扩展至,如图3 .11所示。则对于图像中的任一点的灰度值,变换后为,其数学表达式如下所示16。 (3.1)在曝光不足或过度的情况下,图像的灰度可能会局限在一个很小的范围内,这时得到的图像可能是一个模糊不清、似乎没有灰度层次的图像

35、。采用线性变换对图像中每一个像素灰度作线性拉伸,将有效改善图像视觉效果。3.2.2 分段线性灰度增强为了突出图像中感兴趣的目标或灰度区间,相对抑制不感兴趣的灰度区间,可采用分段线性变换,它将图像灰度区间分成两段乃至多段分别作线性变换。进行变换时,把0-255整个灰度值区间分为若干线段,每一个直线段都对应一个局部的线性变换关系。如图3.1所示,为二段线性变换,(a)为高值区拉伸,(b)为低值区拉伸。00255255255图3.1 二段线性变换3.2.3 非线性灰度增强非线性变换就是利用非线性变换函数对图像进行灰度变换,主要有指数变换、对数变换等。指数变换,是指输出图像的像素点的灰度值与对应的输入

36、图像的像素灰度值之间满足指数关系,其一般公式为: (3.2)其中为底数。为了增加变换的动态范围,在上述一般公式中可以加入一些调制参数,以改变变换曲线的初始位置和曲线的变化速率。这时的变换公式为: (3.3)式中,都是可以选择的参数,当时,此时指数曲线交于轴,由此可见参数决定了指数变换曲线的初始位置参数决定了变换曲线的陡度,即决定曲线的变化速率。指数变换用于扩展高灰度区,一般适于过亮的图像。对数变换,是指输出图像的像素点的灰度值与对应的输入图像的像素灰度值之间为对数关系,其一般公式为: (3.4)其中表示以10为底,也可以选用自然对数。为了增加变换的动态范围,在上述一般公式中可以加入一些调制参数

37、,这时的变换公式为: (3.5) 式中,都是可以选择的参数,式中是为了避免对0求对数,确保。当时,则,则为轴上的截距,确定了变换曲线的初始位置的变换关系,、两个参数确定变换曲线的变化速率。对数变换用于扩展低灰度区,一般适用于过暗的图像17。3.3 直方图增强3.3.1 直方图修正基础图像的灰度直方图是反映一幅图像的灰度级与出现这种灰度级的概率之间的关系的图形。灰度级为范围的数字图像的直方图是离散函数,这里是第级灰度,是图像中灰度级为的像素个数。通常以图像中像素数目的总和去除他的每一个值,以得到归一化的直方图,公示如下: 且因此给出了灰度级为发生的概率估计值。归纳起来,直方图主要有一下几点性质:

38、(1)直方图中不包含位置信息。直方图只是反应了图像灰度分布的特性,和灰度所在的位置没有关系,不同的图像可能具有相近或者完全相同的直方图分布。(2)直方图反应了图像的整体灰度。直方图反应了图像的整体灰度分布情况,对于暗色图像,直方图的组成集中在灰度级低(暗)的一侧,相反,明亮图像的直方图则倾向于灰度级高的一侧。直观上讲,可以得出这样的结论,若一幅图像其像素占有全部可能的灰度级并且分布均匀,这样的图像有高对比度和多变的灰度色调。(3)直方图的可叠加性。一幅图像的直方图等于它各个部分直方图的和。(4)直方图具有统计特性。从直方图的定义可知,连续图像的直方图是一位连续函数,它具有统计特征,例如矩、绝对

39、矩、中心矩、绝对中心矩、熵。(5)直方图的动态范围。直方图的动态范围是由计算机图像处理系统的模数转换器的灰度级决定。由于图像的视觉效果不好或者特殊需要,常常要对图像的灰度进行修正,以达到理想的效果,即对原始图像的直方图进行转换(修正):一幅给定的图像的灰度级分布在范围内。可以对0,1区间内的任何一个进行如下的变换: (3.6)变换函数T应满足以下条件:a.在区间内,单值单调增加;b.对于,有。这里的第一个条件保证了图像的灰度级从白到黑的次序不变。第二个条件则保证了映射变换后的像素灰度值在允许的范围内。满足这两个条件,就保证了转换函数的可逆。3.3.2 直方图均衡化直方图均衡化方法是图像增强中最

40、常用、最重要的方法之一。直方图均衡化是把原图像的直方图通过灰度变换函数修正为灰度均匀分布的直方图,然后按均衡直方图修正原图像。它以概率论为基础,运用灰度点运算来实现,从而达到增强的目的。它的变换函数取决于图像灰度直方图的累积分布函数。概括的说,就是把一已知灰度概率分布的图像,经过一种变换,使之演变成一幅具有均匀概率分布的新图像。有些图像在低值灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚。这时可以将图像的灰度范围分开,并且让灰度频率较小的灰度级变大。当图像的直方图为一均匀分布时,图像的信息熵最大,此时图像包含的信息量最大,图像看起来就显得清晰。直方图均衡化变换函数如图3.2所示,设,分

41、别表示原图像和增强后图像的灰度。为了简单,假定所有像素的灰度已被归一化。当时,表示黑色;当时,表示白色;当,在0,1之间时,表示像素灰度在黑白之间变化。灰度变换函数为: 。011图3.2 直方图均衡化变换函数实际上,由于直方图是近似的概率密度函数,用离散灰度级作变换时很少能够得到完全平坦的结果,而且,变换后往往会出现灰度级减少的现象,这种现象被称为“简并”现象。这是像素灰度有限的必然结果。由于上述原因,数字图像的直方图均衡只能是近似的。直方图均衡化处理可大大改善图像灰度的动态范围。减少简并现象通常可采用两种方法:一种简单的方法是增加像素的比特数。比如,通常用8比特来代表一个像素,而现在用12比

42、特来表示一个像素,这样就可以减少简并现象发生的机会,从而减少灰度层次的损失。另外,采用灰度间隔放大理论的直方图修正方法也可以减少简并现象。这种灰度间隔放大可以按照眼睛的对比度灵敏特性和成像系统的动态范围进行放大。一般实现方法采用如下几步:(1)统计原始图像的直方图;(2)根据给定的成像系统的最大动态范围和原始图像的灰度级来确定处理后的灰度级间隔;(3)根据求得的步长来求变换后的新灰度;(4)用处理后的新灰度代替处理前的灰度。3.3.3 直方图规定化直方图均衡化是以累计分布函数变换法为基础的直方图修正技术,使得变换后的灰度概率密度函数是均匀分布的,因此,它不能控制变换后的直方图而交互性差。这样,

43、在很多特殊的情况下,需要变换后图像的直方图具有某种特定的曲线,例如对数和指数等,直方图规定化可以解决这一问题。直方图规定化方法如下:假设是原始图像分布的概率密度函数,是希望得到的图像的概率密度函数。先对原始图像进行直方图均衡化处理,即: (3.6)假定已经得到了所希望的图像,并且它的概率密度函数是。对该图像也做均衡化处理,即: (3.7)由于对于这两幅图像,同样作了均衡化处理,所以他们具有同样的均匀密度。其中(3.9)的逆过程为,则如果用从原始图像中得到的均匀灰度级来代替逆过程中的,其结果灰度级将是所要求的概率密度函数的灰度级: (3.8)根据以上思路,可以总结出直方图规定化增强处理的步骤如下

44、:(1)将原始图像进行均衡化处理;(2)规定希望的灰度概率密度函数,用(3.22)式计算它的累计分布函数;(3)将逆变换函数用到步骤(1)中所得的灰度级。上述三步得到了原始图像的一种处理方法,只要求G(s)是可逆的即可进行。但是,对于离散图像,由于是一个离散的阶梯函数,不可能有逆函数存在,对此,只能进行截断处理,必将不可避免的导致变换后图像的直方图一般不能与目标直方图严格的匹配。3.4 图像平滑获得的图像可能会因为各种原因而被污染,产生噪声。常见的图像噪声主要有加性噪声、乘性噪声和量化噪声等。噪声并不仅限于人眼所见的失真,有些噪声只针对某些具体的图像处理过程产生影响。图像中的噪声往往和正常信号

45、交织在一起,尤其是乘性噪声,如果处理不当,就会破坏图像本身的细节,如会使线条、边界等变得模糊不清。有些图像是通过扫描仪扫描输入或传输通道传输过来的。图像中往往包含有各种各样的噪声。这些噪声一般是随机产生的,因此具有分布和大小不规则性的特点。图像平滑就是针对图像噪声的操作,其主要作用是为了消除噪声。如何既平滑掉噪声又尽量保持图像细节,是图像平滑的主要研究任务。这些噪声的存在直接影响着后续的处理过程,使图像失真。这时可以采用线性滤波和中值滤波的方法。3.4.1 邻域平均法噪声像素的灰度与其临近像素的灰度显著不同,根据噪声点这一特性,可以使用邻域平均法。邻域平均法采用模板计算的思想,模板操作实现了一

46、种邻域运算,用模板确定的邻域内的像素值去代替图像中每一个像素点的值。对于给定的图像中的每一个点,取其领域。设含有个像素,取其平均值作为处理后所得图像像素点处的灰度。设是的正方形邻域,点位于中心,则: (3.9)3.4.2 加权平均法邻域平均处理方法是以图像模糊为代价来减少噪声。有时为了突出源图像中的点(i,j)本身的重要性,对于同一尺寸的模板,不同位置的系数采用不同的数值就可以采用加权平均法实现。一般认为离对应模板中心像素近的像素对平滑结果有较大的影响,所以接近模板中心的系数应较大,而模板边界附近的系数应较小。3.4.3 中值滤波法中值滤波是一种非线性平滑滤波,在一定条件下可以克服线性滤波带来

47、的图像细节模糊问题,而且对滤除噪声干扰及图像扫描噪声非常有效。中值滤波就是输出图像的某点象素等于该象素邻域中各象素灰度的中间值。给定的图像中的每一个点,取其领域。设含有个像素,将其按大小排序,若是奇数时,则位于中间的那个象素值就是修改后图像在点处的像素值;若是偶数则取中间两个象素的平均值作为修改后图像在点处的像素值。3.5 图像锐化图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像边缘变得清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是图像受到了平均或积分运算,因此可以对其进行逆运算

48、(如微分运算)就可以使图像变得清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。为了要把图像中间任何方向伸展的边缘和轮廓变得清晰,我们希望对图像的某种运算是各向同性的。3.5.1 梯度锐化梯度是图像处理中最常用的一种一阶微分方法。对图像函数,其在点上的梯度定义为矢量,从梯度的性质可知,梯度的方向确定了图像的最大变化率的方向,的幅度为下式: (3.10)对于数字图像,用差分来近似微分。为了便于编程和提高运算速度,可以如下进行绝对值的运算: (3.11)一旦计算梯度的算法确立之后,就可以有很多方法来使图像轮廓突出。最简单的方法就是令点上锐化后的图像函数值

49、等于原始图像在该点上的梯度值,即: (3.12)此法的缺点是处理后的图像仅显示出轮廓,灰度平缓变化的部分由于梯度值较小而显得很黑。3.5.2 拉普拉斯锐化拉普拉斯算子是线性二阶微分算子,与梯度算子一样,具有旋转不变性,从而满足不同走向的图像边界的锐化要求。拉普拉斯算子对图像中的噪声非常敏感,为了减少噪声的影响,在做增强处理之前,先将待处理的图像进行平滑,再做拉普拉斯运算。相对于梯度算子,拉普拉斯算子具有增强的边缘精确定位的优点。因为梯度一阶微分算子会在较大范围内形成梯度值,差分的结果不适合精确定位。然后,二阶差分算子的过零特性,可以使边缘增强后精确定位。3.6 本章小结本章对图像的增强与原理进

50、行了简单的概述,对几种常用的增强算法进行了分析研究。第4章 数字图像增强的算法与实现4.1 线性灰度增强的算法与实现4.1.1 基本原理假设变换前图像的灰度范围为,希望变换后的图像的灰度范围扩展或压缩至,则灰度线性变换函数的表达式为: (4.1)通过调整、的值控制线段的斜率,从而对图像灰度区间进行扩展与压缩。4.1.2 算法描述图像的线性灰度变换算法实现的步骤描述如下:1获得源图像的首地址及图像的宽和高。2开辟一块内存缓冲区,用以暂存结果图像,并初始化为0。3逐个扫描源图像中的像素点,根据公式(4-1)求出线性变换后的图像中与当前点对应的像素点的灰度值。4循环步骤3,直到处理完源图像的全部像素

51、点。5将结果从缓冲区复制到源图像的数据区中。4.1.3 编程实现 图像的线性灰度变换算法的程序代码如下:if(m_Image.IsNull() return; /直接修改像素颜色 int m_nHeight=m_Image.GetHeight(); int m_nWidth=m_Image.GetWidth(); /int pit=m_Image.GetPitch();/*int bitCount=m_Image.GetBPP()/8;*/for (int y=0; y<m_nHeight; y+)for (int x=0; x<m_nWidth; x+) byte pixel=m

52、_Image.GetPixel(x,y);BYTE gray =(byte)(double)(200-20)/255)*pixel+20+0.5);m_Image.SetPixel(x,y,RGB(gray,gray,gray); Invalidate();/强制调用OnDraw4.1.4 效果演示 图像的线性灰度变换增强的效果如图4.1所示。图4-1a为源图像,图4-1b为将灰度区间压缩至20,200的线性增强效果图。 a)源图像 b)线性灰度增强效果图图4.1 线性灰度变换增强效果演示4.2 分段线性灰度增强的算法与实现4.2.1 基本原理 假设输入图像的灰度为0级,增强后图像的灰度级为0

53、级,区间、分别为原图像与增强的某一灰度区间。分段线性变换函数为(4.1)实际上a,b,c,d可取不同的值进行组合,从而得到不同的效果。4.2.2 算法描述图像的分段线性灰度变换算法实现的步骤描述如下:1获得源图像的首地址及图像的宽和高。2开辟一块内存缓冲区,用以暂存结果图像,并初始化为0。3逐个扫描源图像中的像素点,如果当前点的像素值在内,则根据公式(4-2)等号右边上式求出目标图像中与当前点对应的像素点的灰度值;如果当前点的像素值在内,则根据公式(4-2)等号右边中式求出目标图像中与当前点对应的像素点的灰度值;如果当前点的像素值在内,则根据公式(4-2)等号右边下式求出目标图像中与当前点对应的像素点的灰度值。4循环步骤3,直到处理完源图像的全部像素点。5将结果从缓冲区复制到源图像的数据区中。4.2.3 编程实现图像的分段线性变换算法的实现的程序代码如下:if(m_Image.IsNull() return; /直接修改像素颜色 int m_nHeight=m_Image.GetHeight(); int m_nWidth=m_Image.GetWidth(); /int pit=m_Image.GetPitch();/*int bitCount=m_Image.GetBPP()/8;*/for (int y=0; y<m_nHeight; y+)for (int x

温馨提示

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

评论

0/150

提交评论