直方图均衡方法因其有效性和简单易用性已经成为图像增强的常用方法。直方图均衡是一种经典有效的图像增强方法。这种方法是根据输入图像的灰度概率分布来确定图像对应的输出灰度值,通过拓展图像灰度分布的动态范围以改善图像视觉效果[1]。直方图均衡方法有局部均衡和全局均衡两种。局部均衡可以更好地增强图像的局部细节,局部方法有子块不重叠、子块重叠与子块部分重叠3种方式。其中,子块不重叠方式因产生明显的块效应而很少采用;子块重叠方式由于计算量大、处理速度慢,实际应用也不多;子块部分重叠方式虽然可以较好地提高处理速度,但是其算法相对复杂。与局部方法相比,全局算法比较简单,不但处理速度较快,而且对提高图像整体对比度的效果显着,但是也存在灰度级合并的缺点,造成图像的灰度级减少,细节部分变得模糊。现有的直方图均衡算法在增强图像对比度的同时, 输出图像的亮度与输入图像无关, 并且在均衡区域产生亮度饱和现象,提出了一种新的直方图均衡算法。以亮度保持的双直方图均衡算法为基础,改进其对子图像的分类方式:根据直方图对图像进行多峰值分解,得到一系列不同范围的子图像,然后对每一个子图像在其相应的灰度范围内进行直方图均衡,合并这些子图像的均衡结果。
针对传统全局直方图均衡算法的不足,介绍一种简单、有效的图像增强算法。该方法通过对灰度变换进行修正,使映射后相邻两灰度间距加大,从而避免了不同灰度的像素均衡后被合并、图像过亮等现象。实验证明,改进方法可以减少图像信息的丢失,明显改善直方图处理偏暗图像的视觉效果。
1 传统的直方图均衡算法
1.1 直方图均衡算法
全局直方图均衡通过改变输入图像直方图各灰度级的概率分布,使输出图像各灰度级分布变得相对均匀,从而使图像的对比度得到增强,其处理过程如下:
(1)计算原图像的灰度级直方图。
(2)求得原图像各灰度级的累积概率分布函数,并由此构造灰度转换函数。
(3)根据灰度转换函数将原图像所有像素灰度值映射到输出图像。
1.2 传统的全局直方图均衡算法的弊端
由于直方图均衡化算法来源于连续函数,而数字图像的灰度是离散值,对应用于数字图像的灰度变换函数进行了从连续到离散的近似,因而直方图均衡不可避免地存在以下问题:
(1)变换后图像的灰度级减少,某些细节丢失。由于量化误差的存在,使原本不同灰度的像素在直方图变换后,以相同灰度显示,即出现了灰度被吞噬的现象,从而造成了部分信息丢失。
(2)变换后图像出现局部过亮或伪轮廓现象。直方图均衡只是改变原图像中同一灰度层上所有像素的灰度,并不能改变单个像素点在灰度层上的分布。这使得直方图均衡算法在处理灰度呈现两端分布或偏暗图像时,容易出现图像过亮或伪轮廓等现象,因而得不到满意的视觉效果。
2 直方图均衡算法改进方法
2.1 改进思路
在传统的直方图均衡化中,存在的显着问题是:分布较小的图像灰度级rmin存在被分布较大的图像灰度级rmax所淹没的趋势。这是因为灰度级为rmax的像素总数N(rmax)比灰度级为rmin的像素总数N(rmin)大很多,因此可以根据需要设定1个灰度区间[M,N],尝试减少N(rmax)与N(rmin)之间的差距,使得分布较小的图像灰度级rmin不易被分布较大的图像灰度级rmax所淹没,但同时又要适当反映出这个差距。
针对上述情况,在直方图均衡算法中进行两方面的改进。首先,采用函数f(x)=xm(0≤m≤1,x为整数),也就是引入了加权因子m[5],这样可以较好地改善不同灰度级所占的比重,使分布较小的图像灰度级rmin所占的比重相对变大,而分布较大的图像灰度级rmax所占的比重相对变小;其次,对传统直方图均衡算法的映射关系加以改变。
2.2 改进算法的推导
根据需要设定1个灰度区间[M,N],建立一个新的图像像素的灰度分布函数N′(r),令
(7)用式(5)进行均衡化,修改原图像的灰度级获得增强图像。
2.3 加权因子m的讨论
在改进算法的步骤(3)中引入加权因子m,主要目的是适当改变各灰度级所占的比重,从而减少在直方图均衡化过程中,较小的灰度级合并的可能性,增强图像细节。加权因子m的取值有3种情况:
(1)当m=0时,对图像不做任何处理,输出图像与输入图像相同。
(2)当m=1时,由于图像各个灰度级所占的比重没有发生变化,也就是传统的直方图均衡算法,此时图像的细节变得模糊,但是图像的亮度得到了保持。
(3)当0<m<1时,即为本算法与传统直方图均衡算法的主要区别。适当选取m的值就可以使图像的对比度和细节都能得到很好地保持。当加权因子m取值接近于0时,占总体比例较小的灰度级rmin所占的比重将相对变大;而占总体比例较大的灰度级rmax所占比重将相对变小,此时可以有效地避免图像中较小的灰度级合并,使图像的细节得到保持,但均衡效果不理想,对比度提高不够。当加权因子m取值接近于1时,此时图像的对比度得到提高,亮度也得到保持,但是图像的细节却保持不够。因此应选取适当的m值,使图像在细节保持和对比度增强之间做一个折中。
3 仿真结果与讨论
实验图像为LINA图像,分别采用传统的直方图均衡算法和本文中改进的直方图均衡算法进行仿真实验。由于灰度的范围一般是0~255,因此在本文的仿真实验中取M=0,N=255,同时令加权因子m=0.5,在增强图像对比度的同时,可以有效地保持图像的局部细节。在Matlab中仿真后的效果如图1所示。
由图1可见,采用传统的直方图均衡化处理后,图像变得清晰了,但是均衡化处理的图像只是近似均匀分布,其本质是减少了量化级别,扩大了量化间隔。因此使得图像不同灰度级的像素经变换后被吞噬的现象比较明显,局部细节消失,而且处理后的图像对比度过度增强。本文中使用改进后的直方图均衡算法,设置权值m的大小为0.5,适当减小了不同灰度级像素总数的差距,使图像中的小概率灰度得以保留,均衡后图像的灰度分布更加合理、均匀。在提高图像对比度的同时,局部细节信息得到了更好地保护,增强后的图像具有更加自然的视觉效果。
文本提出了一种改进的直方图均衡算法,该算法在传统的直方图均衡算法基础上加入了加权因子m,并且给出了改进后的灰度变换映射关系,使得均衡后的图像分布更加均匀,在提高对比度的同时,有效地保持了图像的局部细节信息,使均衡后的图像层次感更强,具有更加自然的视觉效果。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。