基于matlab的图像增强技术的分析与实现_第1页
基于matlab的图像增强技术的分析与实现_第2页
基于matlab的图像增强技术的分析与实现_第3页
基于matlab的图像增强技术的分析与实现_第4页
基于matlab的图像增强技术的分析与实现_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、 数字图形图像处理基于matlab的图像增强技术的分析与实现 基于matlab的图像增强技术的分析与实现摘要:基于数字图像增强对图像处理的重要性,将计算软件MATLA应用于数字图像增强中,给出了用这一软件完成图像的对比度增强、直方图均衡化、平滑滤波、锐化等操作的示例,并给出了处理前后的对照图像。同时论述了MATLAB在进行图像处理试验时简洁、高效的特点。关键词:图像增强;MATLAB;直方图均衡化;平滑滤波;锐化基于matlab的图像增强技术的分析与实现引言:对于一个图像处理系统来说,可将流程分为三个阶段,在获取原始图像后,首先是图像预处理阶段、第二是特征抽取阶段、第三是识别分析阶段,其中图像

2、预处理阶段尤为重要,如果此阶段处理不当,后面的工作将无法展开。实际应用中,我们的系统获取的原始图像并非完美:例如系统获取的原始图像,由于噪声、光照等原因,使得图像的质量不高,需进行预处理,以达到利于我们提取感兴趣的信息的目的。图像的预处理包括图像增强、平滑滤波、锐化等内容.图像的预处理既可以在空间域实现,也可以在频域内实现,其中空间域内实现是对图像进行点运算,它是一种既简单又重要的图像处理技术,它能让用户改变图像上像素点的灰度值,这样通过点运算处理将产生一幅新图像。MATLAB是一种简单、高效、功能强大的高级语言,在科学与工程计算领域有着广泛的应用前途。1、灰度直方图的定义: 一幅数字图像的灰

3、度直方图就是一个灰度级的离散函数。 设变量 r代表图像中像素灰度级。在图像中像素的灰度级可归一化处理, 这样, r的值将限定在下述范围之内: (1)在灰度级中, r= 0代表黑,r= 1代表白。对于一副给定的图像来说, 每一个像素取得0,1区间内的灰度级是随机的,也就是说r是一个随机变量。假定对每一瞬间他们是连续的随机变量,那么,就可以用概率密度函数 pr(r)来表示原始图像得灰度分布。如果用直角坐标系的横轴代表灰度级r,用纵轴代表灰度级的概率密度函数 pr( r), 这样就可以针对一副图像在这个坐标系做一个曲线来。这条曲线在概率论终就是分布密度曲线,如图 1所示。为了有利于数字图像处理, 必

4、须引入离散形式。在离散形势下, 用 rk代表离散灰度级, 用 pr(rk)代表 pr(r), 并且有下式成立: (2)式中 nk为图像中出现 rk这种灰度的像素数,n是图像中像素总数, 而nkn就是概率论中所说的频数。在直角坐标系中作出 rk与 pr( rk)的关系图形, 这个图形称为直方图。 图像的灰度直方图提供了该图像外观的一个全局描述,所提取的特征具有 RST 不变性,即旋转、比例和位移不变性,缺点是不能有效地表示图像的空间信息。2直方图均衡化:直方图均衡化通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可

5、以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法的一个主要优势是它是一个相当直观的技术并且是可逆操作,如果已知均衡化函数,那么就可以恢复原始的直方图,并且计算量也不大。这种方法的一个缺点是它对处理的数据不加选择,它可能会增加背景噪声的对比度并且降低有用信号的对比度。假定变换函数为: (3)式中 w 式积分变量, 而就是 r 的累计分布函数 (CDF)。这里,累计分布函数是 r的函数,并且单调地从 0增加到 1, 所以这个变换函数满足关于 T (r)在 内单值单调增加,在内单值单调增加,

6、在内有 的两个条件。 对式 (3)中的 r求导, 则: (4)再把结果代入式 (3)则 (5) 由上面的推导公式可见, 在变换后的变量 s的定义域的概率密度是均匀分布的。由此可见,用 r的累计分布函数作为变量函数可产生一幅灰度级分布具有均匀概率密度的图像。其结果扩展了像素取值的动态范围。正如前面谈到的那样,为了对图像进行数字处理,必须引入离散形式的公式。当灰度级是离散值的时候,可以用频数近似代替概率值, 即:式中 L是灰度级的总数目, nk是取第 rk级灰度值的概率, 是在图像nk/n中出现第 rk级灰度的次数,n是图强技术叫做直方图均衡化处理或直方图线性化处理。式 (3)的离散形式可由式(6

7、)表示:(6)其反变换式为: (7)因为直方图是近似的概率密度函数, 所以用离散灰度级作变换时很少得到完全平坦的结果。另外,从上例中可以看出变换后的灰度级减少了,这种现象叫做简并现象。由于简并现象的存在,处理后的灰度级总是要减少的。这种像素灰度有限的必然结果。由于上述原因,数字图像的直方图均衡只是近似的。3、直方图规定化:直方图规定化是一种借助于直方图来增强图像的方法。通过将原始图的直方图转化为指定的直方图,可用来校正因拍摄亮度或者传感器的变化而导致的图像差异。在直方图规定化的过程中, 正确地选择规定化的函数有可能获得比直方图均衡化更好的效果,一般分为三个步骤:(1)如同均衡化方法中, 对原始

8、图的直方图进行灰度均衡化:(8)(2)规定需要的直方图, 并计算能使规定的直方图均衡化的变换: (9)(3)将第(1)个步骤得到的变换反转过来, 即将原始直方图对应映射到规定的直方图,也就是将所有的 pr(ri)对应到 pv(vi)去。因为在映射过程中有取整误差的影响,所以采用什么样的映射规则在离散空间中很重要。常用的两种方法为单映射规则( single mapping law,SML)和组映射规则( group mapping law,GML)。我们采用 Matlab进行仿真, 具体 Matlab算法的流程图见图 2、图 3所示。图2 SML算法流程图 图3 GML算法流程图4、MATLAB

9、实现图像的锐化:图像在采集过程中可能因为错误操作或采集方法的固有影响而造成模糊不清,锐化处理就是解决这类现象的方法,其目的是突出图像中的细节或增强被模糊了的细节。图像锐化在数字印刷设计、图像扫描、医学成像、军事系统等领域有着广泛的应用。从效果上说,平滑和锐化是一对互逆的操作。平滑滤波使图像变得模糊的实质是图像受到了平均或积分运算,因此可以考虑对其进行逆运算(如微分运算)从而使图像清晰。从频率域上分析,图像模糊的根本原因是其高频分量被衰减,因此可以用高通滤波器来使图像变得清晰。可以尝试用拉普拉斯算子法对图像进行锐化,代码如下:a = imread (image. jpg);b = double

10、(a) ; %将图像矩阵转化为double类型s = size (b) ;c = zeros (s (1 ,1) ,s (1 ,2) ) ;for x = 2 :s (1 ,1) - 1for y = 2 :s (1 ,2) - 1c (x ,y) = ( - b (x + 1 ,y) - b (x - 1 ,y) - b(x ,y + 1) - b (x ,y - 1) + 43b (x ,y) ) ;endend %用拉氏算子对图像滤波,这个过程相当于运用了一个3×3的掩模 0 , - 1 , 0 ; - 1 , 4 , - 1 ;0 , - 1 ,0 ;d = b + c ;

11、%当拉普拉斯掩模中心系数为正时,增强图像为原图像与拉氏算子滤波图像之和;d = uint8 (d) ; %将矩阵变回uint8格式便于保存。5、算法举例和实现:例:设有一幅原始图像,其直方图见表2(序列号2),目标图像的直方图见表2(序列号4),建立一个计算矩阵如下表1,其中每项分量是原始累积直方图与目标累积直方图各灰度级差的绝对值,当采用SML映射时,从原始累积直方图向目标累积直方图进行,分别在每一列中找到最小值第一次出现的行号,然后将原始图像中灰度级为该列的像素点全部映射到该行号上(见表2序号7)。当采用GML映射时,从目标累积直方图向原始累积直方图进行,分别在每一行中找到最小值第一次出现

12、的列号,则将原始图像中从前一次映射的下一个灰度级开始,直至到该列灰度级的所有像素点全部映射到该列号上,见表2(序号10)。 1)具体实现的算法如下:设将原始图像和目标图像分别均衡化后(见图4中a、b)得到的累积直方图分别存储在数组scr(256)和dest(256)中。/*计算原始图像到目标图像累积直方图各灰度级的差的绝对值*/ double scrMin256256; for(y=0;y<256;y+) for(x=0;x<256;x+) scrMinxy=fabs(Scry-Destx);/*SML映射,结果见图4中(c)*/ for(y=0;y<256;y+) int

13、minX=0; double minValue=scrMin0y; for(x=1;x<256;x+) if (minValue>scrMinxy); minX=x; HistogamSpeciMappingy=minx; /建立映射关系/*GML映射,结果见图4中(d)*/ short lastStartY=0,lastEndY=0,startY=0,endY=0; for(x=0;x<256;x+) if(minValue>scrMinxy) endY=y; minValue=scrMinxy; if (startY!=lastStartYendY!=lastEndY ) for(i=startY;i<=endY;i+) HistogramSpeciMappingi=x; /建立映射关系 lastStartY=startY; lastEndY=endY; startY=lastEndY+1; 映射后得到的结果如图4中(c)(d) 图4均衡化和规定化结果及其直方图2

温馨提示

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

评论

0/150

提交评论