您现在正在浏览:首页 > 职教文章 > 职教论文 > MATLAB实现数字图像增强处理-王斌

MATLAB实现数字图像增强处理-王斌

日期: 2009-7-10 8:58:21 浏览: 612 来源: 学海网收集整理 作者: 王斌

摘要: 讨论了数字图像增强技术中涉及到的直方图均匀化、对比度增强、平滑滤波、锐化等内容及
用MATLAB的实现,同时还分别给出标准的数字图像在各种处理前与处理后的对照图像.
关键词: MA,I1.AB;直方图;直方图均衡化;图像平滑滤波;图像锐化
中图分类号: TN91 文献标识码: B
0 前言
对于一个图像处理系统来说,可将流程分为三个阶段,在获取原始图像后,首先是图像预处理阶段、第
二是特征抽取阶段、第三是识别分析阶段.其中图像预处理阶段尤为重要,如果此阶段处理不当,后面的工
作将无法展开.
实际应用中,我们的系统获取的原始图像并非完美:例如系统获取的原始图像,由于噪声、光照等原
因,使得图像的质量不高,需进行预处理,以达到利于我们提取感兴趣的信息的目的.图像的预处理包括图
像增强、平滑滤波、锐化等内容H J.图像的预处理既可以在空间域实现,也可以在频域内实现,其中空间域
内实现是对图像进行点运算,它是一种既简单又重要的图像处理技术,它能让用户改变图像上像素点的灰
度值,这样通过点运算处理将产生一幅新图像.
MATIAB是一种简单,高效、功能强大的高级语言,在科学与工程计算领域有着广泛的应用前途.在数
字图像处理领域,可应用MATLAB数字图像处理技术进行系统分析与设计.本文介绍了MATLAB提供的图
像处理工具箱函数的用法指南,并辅以应用示例,说明了基于MATIAB,进行数字图像处理的方法.
1 MATLAB数字图像处理的特点
MATLM3全称是Matrix I.aboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这
一点上也可以看出,它在矩阵运算上有自己独特的特点晗J.实际运用中MATLM3中的绝大多数的运算都是
通过矩阵这一形式进行的.这一特点决定了MATLM3在处理数字图像上的独特优势.理论上讲,图像是一
种二维的连续函数,然而计算机对图像进行数字处理时,首先必须对其在空间和亮度上进行数字化,这就
是图像的采样和量化的过程.二维图像均匀采样,可得到一幅离散化成M×N样本的数字图像,该数字图
像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的.而MATLM3的长处就是处理矩阵运
算,因此用MATLM3处理数字图像非常的方便.
MATLM3支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP,
GIF,HDF,JPEG,PCX,PNG,哪,XWD,CUR,ICO等图像文件格式的读、写和显示.MATLAB对图像的处理
功能主要集中在它的图像处理工具箱(Iinage Processing Toolbox)中.图像处理工具箱是由一系列支持图像
处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、
二值图像操作以及形态学处理等图像处理操作口 .
2 MATLAB实现灰度直方图及直方图均衡化
图像直方图是图像处理中一种十分重要的图像分析工具,它描述了一幅图像的灰度级内容,任何一幅
图像的直方图都包含了丰富的信息,它主要用在图像分割,图像灰度变换等处理过程中.从数学上来说图
像直方图是图像各灰度值统计特性与图像灰度值的函数,它统计一幅图像中各个灰度级出现的次数或概
率;从图形上来说,它是一个二维图,横坐标表示图像中各个像素点的灰度级,纵坐标为各个灰度级上图像
各个像素点出现的次数或概率.
在获取的图像中,影响系统图像清晰程度的因素很多,例如室外光照度不够均匀就会造成图像灰度过
于集中;由CCD(摄像头)获得的图像经过A/D(数/模转换,该功能在图像系统中由数字采集卡来实现)转
换、线路传送都会产生噪声污染等等.因此图像质量不可避免的降低了,轻者表现为图像不干净,难于看清
细节;重者表现为图像模糊不清,连概貌也看不出来.因此,在对图像进行分析之前,必须要对图像质量进
行改善,图像增强不考虑图像质量下降的原因,只将图像中感兴趣的特征有选择的突出,而衰减不需要的
特征,它的目的主要是提高图像的可懂度.
MATLAB中提供了专门绘制直方图的函数imhist()、调整对比度函数imadjust()和直方图均衡化函数
histeq().用它们可以很简单的绘制出图像的灰度直方图、灰度级调整后的直方图和均衡化的直方图,以及
相应的图像.程序和图像如下;
i=im~d(’tire.tif’);%读取图像
j=imadjust(i,[0/255 120/255],[]);
%由于原图像的直方图的对比度很低,灰度级集中在0—120范围内,如果只取这个范围内的灰度,并
扩展到[0,255],则会明显增强图像对比度
k=histeq(i)
subplot(1,3,1),imshow(i),title(’原图像’)
subplot(1,3,2),imshow(j),tide(’灰度级调整后的图’)
subplot(1,3,3),imshow(k),tide(’直方图均衡化后的图’)
figure,subplot(1,3,1),imhist(i,64),tide(’原图像对应直方图’)
subplot(1,3,2),imhist(i,64),tide(’灰度级调整后的直方图’)
subplot(1,3,3),imhist(k,64),tide(’均衡化后的直方图’)
原图像 灰度级调整后的图 直方图均衡化后的图
曩回
图1 灰度级调整后及直方图均衡化后的图
从效果图(图1,2)可以看出,经过图像对比度调整,图像变亮,而且可以看到更多的细节;经过直方图
均衡化处理后,图像变的清晰了,处理后的图像直方图分布更均匀了,在每个灰度级上图像都有像素点.
3 MATLAB实现图像平滑
图像平滑主要是为了消除噪声.噪声并不限于人眼所能看得见的失真和变形,有些噪声只有在进行图
像处理时才可以发现.图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等.图像中的噪声往往和信
号交织在一起,尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边界轮廓、线条等变得模糊不
清,如何既平滑掉噪声又尽量保持图像细节,是图像平滑主要研究的任务【4】.MATLAB的图像处理工具箱
里也设计了许多的滤波器.如均值滤波器、中值滤波器、维纳滤波器等.我们可以很方便的运用一些函数完
成数字滤波工作,从而改善图像质量.
用滤波器祛除图象噪声(分别用均值滤波,中值滤波,及维纳滤波器祛除加入高斯噪声的图象)程序和
i=imre.ad(’eight.tif’)
subplot(2,3,1),imshow(i),tide(’原始图像’)
j1=imnoise(i,’gaussian’,0,0.02);%加入高斯噪声
subplot(2,3,2),imshow(j1),tide(’加入高斯噪声后图像’)
h=[1 1 1
1 1 1];
h=h/9;%产生滤波模板并归一化
k=conv2(jl,h);%进行均值滤波
subplot(2,3,3),imshow(k,[]),tide(’均值滤波后图像’)
g=medfdt2(i1)%进行中值滤波
subplot(2,3,4),imshow(g),tide(’中值滤波后图像’)
W=wiener2(i1,[5 5])%进行一次维纳滤波
subplot(2,3,5),imshow(w),tide(’维纳滤波后图像’)
wl=wiener2(w,[5 5])%进行二次维纳滤波
subplot(2,3,6),imshow(w),tide(’两次维纳滤波后图像’)
: :
: : :
从效果图(图3)可以看出,维纳滤波对含有高斯噪声的图像滤波效果较好.
4 MATLAB实现图像锐化
图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐
化技术,使图像的边缘变得清晰.图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得
清晰,经过平滑的图像变得模糊的根本原因是图像受到了平均或积分运算,因此可以对其进行逆运算(如
微分运算)就可以使图像变得清晰.从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以
用高通滤波器来使图像清晰.为了要把图像中间任何方向伸展的边缘和轮廓线变得清晰,我们希望对图像
的某种运算是各向同性的.
5.结语
本文就MATLAB在数字图像增强处理方面进行了阐述、讨论。重点讨论了直方图增强、平滑滤波、锐化等内容。实验结果表明,应用MATLAB进行图像增强处理具有理想的效果和很高工程价值。
参考文献:
【1】 阮秋琦。数字图像处理学【M】。北京:电子工业出版社,2001:81-85.
【2】 张志涌。精通MATLAB6.5【M】。北京:北京航空航天大学出版社,2003:69-74.
【3】 R.C.冈萨雷斯,P.温茨著,李叔梁等译。数字图像处理【M】。北京:科学出版社,1982:21-23.
【4】 ITU-R Recommendation BT.500-10: Methodology for the subjective assessment of the quality of teleision erland.
【5】 张兆礼,赵春晖,梅晓丹。现代图像处理技术【M】。北京:人民邮电出版社,2001,11:124-125

返回顶部