《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 保持图像细节的直方图均衡算法
保持图像细节的直方图均衡算法
樊春玲,吕 欣
青岛科技大学 自动化与电子工程学院,山东 青岛 266042
摘要: 对常规的直方图均衡算法进行了改进,避免了不同灰度的像素均衡后被合并、图像细节丢失等现象。实验结果表明,改进的直方图均衡新算法既能充分增强图像的对比度,又能保持图像的局部细节,使图像具有更加自然的视觉效果。
Abstract:
Key words :

摘  要: 对常规的直方图均衡算法进行了改进,避免了不同灰度的像素均衡后被合并、图像细节丢失等现象。实验结果表明,改进的直方图均衡新算法既能充分增强图像的对比度,又能保持图像的局部细节,使图像具有更加自然的视觉效果。
关键词: 直方图均衡;权值图像增强;细节保持

    直方图均衡方法因其有效性和简单易用性已经成为图像增强的常用方法[1]。其基本思想是根据输入图像的灰度概率分布来确定图像对应的灰度输出值,通过拓展图像灰度分布的动态范围以改善图像的视觉效果,从而达到提升图像对比度的目的。直方图均衡方法有局部均衡和全局均衡2种。局部均衡可以更好地增强图像的局部细节,局部方法有子块不重叠、子块重叠与[2-3]子块部分重叠[4]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值,使图像在细节保持和对比度增强之间做一个折中。通过一系列的仿真实验得出,加权因子m取值在0.5附近,图像增强的效果较好。
3 仿真结果与讨论
    实验图像为LINA图像,分别采用传统的直方图均衡算法和本文中改进的直方图均衡算法进行仿真实验。由于灰度的范围一般是0~255,因此在本文的仿真实验中取M=0,N=255,同时令加权因子m=0.5,在增强图像对比度的同时,可以有效地保持图像的局部细节。在Matlab中仿真后的效果如图1所示。

在Matlab中仿真后的效果


    由图1可见,采用传统的直方图均衡化处理后,图像变得清晰了,但是均衡化处理的图像只是近似均匀分布,其本质是减少了量化级别,扩大了量化间隔。因此使得图像不同灰度级的像素经变换后被吞噬的现象比较明显,局部细节消失,而且处理后的图像对比度过度增强。本文中使用改进后的直方图均衡算法,设置权值m的大小为0.5,适当减小了不同灰度级像素总数的差距,使图像中的小概率灰度得以保留,均衡后图像的灰度分布更加合理、均匀。在提高图像对比度的同时,局部细节信息得到了更好地保护,增强后的图像具有更加自然的视觉效果。
    文本提出了一种改进的直方图均衡算法,该算法在传统的直方图均衡算法基础上加入了加权因子m,并且给出了改进后的灰度变换映射关系,使得均衡后的图像分布更加均匀,在提高对比度的同时,有效地保持了图像的局部细节信息,使均衡后的图像层次感更强,具有更加自然的视觉效果。
参考文献
[1] 冈萨雷斯.数字图像处理(第2版)[M].阮秋琦译.北京:电子工业出版社,2007.
[2] PIZER S. Adaptive histogram equalization and its variations [J]. Computer Vision Graphics & Image Processing 1987,39(3):355-368.
[3] CASELLES V. Shape preserving local contrast enhancement[A]. Proceedings of the 1997 International Conference on Image Processing (ICIP’97) [C]. Washington IEEE Computer Society, 1997.
[4] KIM J Y, KIM L S, HWANG S H. An advanced contrast enhancement using partially overlapped sub-block histogram equalization[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2001,11(4):475-484.
[5] 唐志文,林亚平,彭胜标,等.改变位权值的直方图均衡方法研究和应用[J].湖南大学学报(自然科学版),2001,28(1):103-106.

此内容为AET网站原创,未经授权禁止转载。