灰度图象增强研究与设计.doc
结 课 设 计(论文)灰度图象增强研究与设计数字图像处理 电子信息工程 专业 0706082 班级 姓 名 学号 指导教师 职称 讲 师 摘 要数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。图像处理的信息量很大,对处理速度的要求也比较高。Matlab强大的运算和图形展示功能,使图像处理变得更加的简单和直观。本文基于MATLAB的数字图像处理环境,设计并实现了一个图像处理系统,展示如何通过利用Matlab的工具函数和多种算法实现对图形图像的各种处理。论述了利用设计的系统实现图像文件(bmp、 jpg、 tiff、 gif等)进行打开、保存、另存、打印、退出等功能操作,图像预处理功能(包括彩色图像的灰度化变换等、一般灰度图像的二值化处理、色彩增强等),图像分割,图像特征提取等图像处理。关键词 Matlab;数字图像处理;灰度化变换;二值化;色彩增强1.MATLAB简介美国Mathwork公司于1967年推出了“Matrix Laboratory”(缩写为Matlab)软件包,并不断更新和扩充。目前最新的7.x版本(windows环境)是一种功能强、效率高便于进行科学和工程计算的交互式软件包。其中包括:一般数值分析、矩阵运算、数字信号处理、建模和系统控制和优化等应用程序,并集应用程序和图形于一便于使用的集成环境中。在此环境下所解问题的Matlab语言表述形式和其数学表达形式相同,不需要按传统的方法编程。不过,Matlab作为一种新的计算机语言,要想运用自如,充分发挥它的威力,也需先系统地学习它。但由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不象学习其它高级语言-如Basic、Fortran和C等那样难于掌握。实践证明,你可在几十分钟的时间内学会Matlab的基础知识,在短短几个小时的使用中就能初步掌握它.从而使你能够进行高效率和富有创造性的计算。 Matlab大大降低了对使用者的数学基础和计算机语言知识的要求,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。2.系统总体分析本系统实现了对图像(bmp、 jpg、 tiff、 gif等)的进行打开、保存、另存、打印、退出等功能操作、图像预处理操作、图像的几何变换和特征提取等操作,整个界面如图所示:图1. 系统界面2.1图像处理基本操作本部分功能能对图像(bmp、 jpg、 tiff、 gif等)进行打开、保存、另存、打印、退出等功能操作。这几个基本功能都可以由MATLAB本身带有的函数完成。利用imread函数从图形文件中读出图像,用imshow函数显示图像,saveas(newFig,pathname,filename)用来另存图像到另一个位置,用print函数打印图像,用close函数退出。 2.2图像预处理功能图像的预处理功能包括:第一.彩色图像的灰度化变换、灰度图像的二值化处理;灰度图是含只含亮度信息,不包含色彩信息的图像。灰度化处理是把含有亮度和色彩的彩色图像变换成灰度图像的过程。灰度变换就是指对图像上各个像素点的灰度值x按某个函数T()变换到y。例如为了提高图像的清晰度,需要将图像的灰度级整个范围或其中某一段(A,B)扩展或压缩到(A,B);需要显示出图像的细节部分等都要求采用灰度变换方法。灰度变换有时又被称为图像的对比度增强或对比度拉伸。假定输入图像中的一个像素的灰度级为Z,经过T(Z)函数变换后输出图像对应的灰度级为Z ,其中要求Z和Z 都要在图像的灰度范围之内。根据T()形式,可以将灰度变换分为线性变换和非线性变换。具体应用中采用何种T(),需要根据变换的要求而定。在这里,本系统利用了MATLAB的一个函数rgb2grey进行初步的灰度化转换。打开名为1.jpg的图像,点击图像灰度化按钮,效果如下:图2. 原图1.jpg 与转换的灰度图图象二值化是指根据给定阈值 T,将整幅图象中大于或等于T的象素点灰度值赋为 1,小于 T的象素点灰度值赋为 0,从而得到仅有 0和1两个灰度值的黑白图象。灰度图象二值化的数学形式如下: 通过对多层次的灰度图象进行二值化处理,有助于分析理解和识别图象并减少计算量,特别是在边缘检测和提取中,二值化图象能有效地将背景和目标区分开来,通过搜索产生 0和1间的跃变位置,可以快速准确的提取目标区域边界象素点。其大概过程是这样,首先在进行图像的处理之前先获得该对象的句柄,初始化对象,将其转换为灰度图,然后利用函数im2bw将灰度图转换为二值图。本系统设计了一个按钮,使用时可以根据需要设定阈值的大小,从而进行不同程度的二值化处理。其效果如下:图3. 图像二值化T=0.28图4. 图像二值化T=0.5第二.直方图的统计及绘制,根据此找到图像的阈值点;图像直方图是图像处理中一种十分重要的图像分析工具,它描述了一幅图像的灰度级内容,任何一幅图像的直方图都包含了丰富的信息,它主要用在图象分割,图像灰度变换等处理过程中。从数学上来说图像直方图是图像各灰度值统计特性与图像灰度值的函数,它统计一幅图像中各个灰度级出现的次数或概率;从图形上来说,它是一个二维图,横坐标表示图像中各个像素点的灰度级,纵坐标为各个灰度级上图像各个像素点出现的次数或概率。在本系统中,先用rgb2gray这个函数实现把真彩图转换为灰度图,再用imhist函数用于显示灰度图像的N级直方图,灰度图默认N为256(对二值图默认为2)。再对直方图上的灰度级进行统计。打开名为1.jpg的图像,绘制直方图效果如下: 图5. 直方图 图6. 统计直方图图5为1.jpg的原始图像对应的直方图,从图5可以看出,1.jpg图像的灰度主要分布在中高灰度级上,在低灰度级上图像的像素数几乎为零。图6是统计直方图。那么,这个时候找该图的阈值点就是找直方图的波谷了第三.数字图像的增强处理功能;影响系统图像清晰程度的因素很多,例如室外光照度不够均匀就会造成图像灰度过于集中;由CCD(摄像头)获得的图像经过A/D(数/模转换,该功能在图像系统中由数字采集卡来实现)转换、线路传送都会产生噪声污染等等。因此图像质量不可避免的降低了,轻者表现为图像不干净,难于看清细节;重者表现为图像模糊不清,连概貌也看不出来。因此,在对图像进行分析之前,必须要对图像质量进行改善,一般情况下改善的方法有两类:图像增强和图像复原。本系统只考虑图像增强功能。图像增强不考虑图像质量下降的原因,只将图像中感兴趣的特征有选择的突出,而衰减不需要的特征,它的目的主要是提高图像的可懂度。本系统完成了直方图均值化、中值滤波、图像锐化、伪彩色增强四种图像处理的功能。直方图均衡化是灰度变换的一个重要应用,广泛应用在图像增强处理中,它是以累计分布函数变换为基础的直方图修正法,可以产生一幅灰度级分布具有均匀概率密度的图像,扩展了像素的取值动态范围。若像素点的原灰度为R,变换后的灰度为S,需要注意的是R、S是归一化后的灰度值,其灰度变换函数T()为: S=T (R);k=0,1, ;式中, 是第j级灰度值的概率, 是图像中j级灰度的像素总数, 是图像中灰度级的总数目, 是图象中像素的总数。对变换后的S值取最靠近的一个灰度级的值,建立灰度级变换表,将原图像变换为直方图均衡的图像。在MATLAB中,先将图像灰度化,再得到图像的句柄, 用函数histeq用柱状图均等化增强对比,再画出此时图像数据的直方图。以下是功能实现的效果图: 图7. 原始灰度图 图8. 经过直方图均衡化处理的图像图9. 直方图均衡化从上述效果图可以看出,经过直方图均衡化处理后,灰度图像变的清晰了,从直方图来看,与图7相比,处理后的图像直方图分布更均匀了,在每个灰度级上图像都有像素点。但是直方图均衡化存在着两个缺点:一是变换后图像的灰度级减少,某些细节消失;二是某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时系统中所要提取的汽车边缘信息也主要集中在其高频部分,因此,如何去掉高频干扰又同时保持边缘信息,是我们研究的内容。为了去除噪声,有必要对图像进行平滑,可以采用低通滤波的方法去除高频干扰。图像平滑包括空域法和频域法两大类,在空域法中,图像平滑的常用方法是采用均值滤波或中值滤波,对于均值滤波,它是用一个有奇数点的滑动窗口在图像上滑动,将窗口中心点对应的图像像素点的灰度值用窗口内的各个点的灰度值的平均值代替,如果滑动窗口规定了在取均值过程中窗口各个像素点所占的权重,也就是各个像素点的系数,这时候就称为加权均值滤波;对于中值滤波,对应的像素点的灰度值用窗口内的中间值代替。中值滤波器属于非线性空间滤波器,用于除去图像中的椒盐噪声。本系统先将灰度图用imnoise函数加椒盐噪声,采用5*5的窗口进行滤波。其效果图如下:图10. 中值滤波后的灰度图由上图可以看到中值滤波去除了一定的噪声,但同时使图像中的边缘变的模糊。锐化滤波能减弱或消除图像中的低频率分量,但不影响高频率分量。因为低频分量对应图像中灰度值缓慢变化的区域,因而与图像的整体特性,如整体对比度和平均灰度值等有关。锐化滤波将这些分量滤去可使图像反差增加,边缘明显。系统用fspecial函数创建类型“unsharp”预定义过滤器,再利用imfilter函数进行处理,其效果如下:图11. 图像锐化后的效果由上可以看到图像的边缘和轮廓线变得清晰。伪彩色增强是将一个波段或单一的黑白图像变换为彩色图像,从而把人眼不能区分的微小的灰度差别显示为明显的色彩差异,更便于解译和提取有用信息。系统对灰度化之后的图像用grayslice函数实现伪彩色增强。grayslice函数用阈值的方法把灰度图转换为索引图。其效果如图:待添加的隐藏文字内容3 图12. 伪彩色增强后的图像效果我们可以看到经过处理的图像色彩差异很明显了。第四.图像的各种几何矫正变换;本系统实现了镜像变换和图像的旋转功能。图像的镜像变换分为两种:一种是水平镜像,另一种是垂直镜像。图像的垂直镜像操作是以原图像的水平中轴线为中心,将图像分为上下两部分进行对称变换。图像的水平镜像操作是以原图像的垂直中轴线为中心,将图像分为左右两部分进行对称变换;镜像变换后图的高和宽都不变。 设图像高度为Height,宽度为Width,原图中的(x0,y0)经过水平镜像后,坐标将变成(Width-x0,y0)。即:x1=Width-x0; y1=y0。点(x0,y0)经过垂直镜像后,坐标将变成为(x0,Height-y0),即:x1=x0;y1=Height-y0。系统实现效果如下:图13. 垂直镜像变换图14. 水平镜像变换 图15. 图像的旋转2.3 图像分割处理图像分割是将图像划分成若干个互不相交的小区域的过程,小区域是某种意义下具有共同属性的像素的连通集合。如不同目标物体所占的图像区域、前景所占的图像区域等。系统首先对图像进行灰度化处理,再实现了图像分割的膨胀、腐蚀、开运算、闭运算的功能操作,其效果图如下:图16. 膨胀图17. 腐蚀图18. 开运算图19. 闭运算2.4图像的特征提取图像的特征是指图像中可用作标志的属性,图像特征分为:视觉特征和统计特征。视觉特征是指人的视觉直接感受到的自然特征(例如区域的颜色、亮度、纹理、轮廓等),统计特征是指需要通过变换或测量才能得到的人为特征(例如各种变换的谱、直方图、各阶距等)。系统完成了对图像的单元统计和统计特征区域的面积,用edge函数识别强度图像中的边界,统计图像的个数;用regionprops计算特征区域的面积。其效果如图:图20. 单元统计图21. 图像的面积以上是在MATLAB命令行窗口出现两个图形的计算面积。3. 总结本文基于MATLAB的数字图像处理环境,设计并实现了一个图像处理系统,展示如何通过利用Matlab的工具函数和多种算法实现对图形图像的各种处理。论述了利用设计的系统实现图像文件(bmp、 jpg、 tiff、 gif等)进行打开、保存、另存、打印、退出等功能操作,图像预处理功能(包括彩色图像的灰度化变换等、一般灰度图像的二值化处理、色彩增强等),图像分割,图像特征提取等图像处理。由于知识有限,时间紧迫,对于图像处理也是初次接触,找了很多资料,仍然觉得力不从心。因此只实现了几种简单的功能。在以后的学习过程中,会继续深入下去。感谢陈老师的悉心教导,同时感谢同学的大力帮忙。