图像亮度精确控制的双直方图均衡算法
2018-01-18江巨浪王振东钟伦超
江巨浪,王振东,钟伦超,吴 翰
(安庆师范大学物理与电气工程学院 安徽 安庆 246011)
直方图均衡化(histogram equalization, HE)是一种图像对比度自动增强算法,广泛用于改善图像的视觉质量[1]。其基本原理是将原图像中多数像素的灰度级进行展宽,对少数像素的灰度级进行归并,使处理后的图像直方图近似均匀分布,达到增强图像对比度的目的。由于直方图均衡处理后的图像亮度近似等于图像灰度级范围的中值,与原图像亮度没有任何关联,从而导致不自然的视觉效果与明显的人工处理痕迹。为了使图像对比度增强效果在视觉上显得自然,文献[2]提出了一种亮度保持的双直方图均衡方法(brightness preserving bi-histogram equalization, BBHE)。该方法以原图像的平均亮度为阈值将其分解为两个子图像分别进行直方图均衡处理,然后将处理结果进行合并,使输出图像在一定程度上保持原图像的亮度特征。文献[3]提出了基于最大熵值与亮度保持的直方图均衡算法(brightness preserving histogram equalization with maximum entropy, BPHEME)。该方法根据输出图像的亮度目标,采用基于最大熵值原则对图像进行直方图规定化处理,使输出图像具有亮度保持的对比度增强效果。文献[4]对图像小波分解的低频系数矩阵进行多直方图均衡处理,然后利用小波重构得到输出图像。该方法在增强图像比度的同时,不仅保持了原图像亮度,还有效降低了输出图像的噪声。文献[5]在BBHE方法的基础上,提出一种基于平均亮度递归分解的多直方图均衡算法(recursive mean-separate histogram equalization, RMSHE),可以不同程度地保持原图像亮度,该方法在医学图像增强方面能够取得满意效果[6-7]。文献[8]认为RMSHE算法中的灰度范围相对狭窄的直方图子段具有相对较高的概率密度。为了有效提升图像中多数像素的灰度级动态范围,将狭窄直方图子段的灰度范围扩展到图像最大动态范围之后再进行均衡处理,最后对各段直方图的均衡结果进行归一化合并处理。文献[9]将RMSHE算法扩展到子块不重叠的局部直方图均衡方法,在图像局部对比度增强过程中对输出图像局部亮度进行分级控制。文献[10]基于像素个数均等原则将图像分成8个子图像分别进行直方图均衡处理,在保持亮度的前提下使图像对比度得到适当增强。
在保持亮度的图像对比度增强方法中,双直方图均衡方法(BBHE)因其简单实用得到广泛的研究与改进,以适应于不同的目标。文献[11]提出一种基于等面积双子图像的直方图均衡算法(dualistic sub-image histogram equalization, DSIHE),以两个子图像像素个数相等作为灰度阈值的选择条件,处理后的图像适当保持了原图像亮度。文献[12]根据最小平均亮度误差原则选择灰度阈值,使图像对比度增强的同时最大程度保持原图像亮度。文献[13]提出一种灰度阈值选择方法,使双直方图均衡后的图像亮度和原图接近的同时,输出图像的熵尽可能大,以避免过增强现象。文献[14]利用BBHE算法产生的两个子图像的加权求和得到输出图像,以图像增强前后的亮度不变为约束条件计算权重系数,在最大程度保持原图像亮度的条件下进行图像对比度增强。文献[15]基于亮度绝对误差最小原则自适应选择最佳灰度阈值,对图像所有局部区域进行亮度保持的双直方图均衡处理,提升了图像局部对比度增强效果。文献[16]选择直方图峰值所对应的灰度值作为灰度阈值,将双直方图均衡处理方法用于改善PCB三维CT图像的对比度和动态范围,效果满意。文献[17]以双直方图均衡处理前后的均方差最小约束条件确定灰度阈值,使对比度增强效果在视觉上显得自然。
本文通过理论分析与实验仿真,证明了传统双直方图均衡算法对输出图像亮度的估计存在明显误差,误差大小随具体图像而变化。当这种亮度误差在数值上较大时,必然导致图像增强效果与预期效果的明显差异。对此提出一种适用于双直方图均衡的灰度阈值选择新算法,使输出图像亮度目标得到更精确地控制,从而提高图像增强过程中对亮度保持效果的精确性与稳定性。
1 传统算法的输出图像亮度误差分析
1.1 BBHE算法原理
BBHE算法是典型的双直方图均衡算法[2],其工作原理可描述如下。设原图像X的平均亮度Xm∈{X0,X1,…,XL-1},以其作为灰度阈值可将原图像分解为两个子图像XL与XU。使用灰度转换函数fL与fU,分别对子图像XL与XU进行直方图均衡处理,然后合并处理后的子图像YL与YU得到输出图像Y:
式中,cL(x)与cU(x)分别为两个子图像中灰度级x的累积概率密度函数。一幅图像进行直方图均衡后的亮度,其数值上近似等于灰度级范围的中间值。因此YL与YU的平均亮度为:
输出图像Y的亮度期望值为:
式中,P(YL)与P(YU)分别为两个子图像的像素在图像中所占比例。BBHE算法假设原图像直方图在Xm两侧均匀分布,两段直方图中含有相同的像素数:
因此,输出图像Y的亮度期望值可表示为:
式中,XG=(X0+XL-1)/2,是图像灰度级范围的中值。式(6)表明输出图像亮度等于原图像亮度Xm和灰度级中值XG的平均值,输出图像亮度受到原图像亮度的影响,以50%的权重保持了原图像亮度。
1.2 输出图像的亮度误差分析
对于一幅有待进行对比度增强的实际图像,其亮度通常可能偏暗或偏亮,灰度分布存在较大的随机性,因此BBHE算法采用式(5)估算子图像的像素权重可能存在明显误差。为定量分析上述误差大小,采用直方图非均匀分布的图像进行分析。为使分析结果能够量化,不妨用程序分别生成具有三角形直方图的低亮度与高亮度图像用于测试。测试图像及其直方图见图1,显然测试结果都不满足BBHE算法中假设直方图在Xm两侧均匀分布的条件。
图1 BBHE算法对两幅测试图像的处理结果及其直方图
基于平均亮度分解测试图像,将子图像的像素权重统计于表1,可看出实际数值与式(5)的假设条件存在较大误差。采用BBHE算法处理图1a与图1b,输出图像及其直方图见图1c与图1d。输出图像的平均亮度统计于表2,输出图像实际亮度与亮度期望值的相对误差分别为6.29%与-5.03%。在实际应用中,随着图像内容的不同,以上误差大小也将发生变化,有较大的不确定性。综上所述,BBHE算法在图像亮度保持的精确性与稳定性方面均存在明显不足。
表1 两个子图像像素的权重统计
表2 BBHE算法的输出图像亮度误差统计
2 亮度精确控制的双直方图均衡算法
2.1 灰度阈值的选择
对于一幅实际图像X,以原图像亮度均值为灰度阈值将图像分解为两个子图像,通常不能满足像素个数平均分配的假设条件。选择不同的灰度阈值,分解两个子图像的像素占比也不同。对于一幅给定的图像,子图像的像素占比P(YL)、P(YU)与灰度阈值XT之间存在一个确定的函数关系。设原图像X的直方图为H,可计算两个子图像的像素占比为:
式中,N为原图像像素个数。输出图像Y的亮度为:
灰度阈值XT的每一种选择,都有唯一的E(Y)与之对应。遍历每个可能的XT的取值,采用式(7)计算输出图像亮度E(Y),然后以BBHE算法的图像亮度期望值ET作为目标,计算亮度误差ΔE:
对于图1的两幅测试图像,遍历所有可能的灰度阈值,计算ΔE的值,得到ΔE~XT关系曲线,如图2所示。从图2看出,可以选择多个不同阈值XT满足ΔE=0。对于图1a,使ΔE=0成立的灰度阈值的数值解(四舍五入取整)有两个:XT1=56与XT2=200;对于图1b满足ΔE=0的灰度阈值也有两个:XT1=51与XT2=205。
尽管有不同的灰度阈值可以使输出图像亮度满足期望值要求,但对应的输出图像显然有不同的直方图形状。在满足输出图像亮度要求的多个灰度阈值中,本文选择使输出图像与BBHE算法具有最相似直方图的那个阈值。对两幅图像的直方图相似度定义如下:设H1与H2分别为图像Y1与图像Y2的归一化直方图矢量,则两图像的直方图相似度定义为:
式中,Sim的值位于0~1之间,数值越大,说明Y1与Y2的直方图越相似。基于上述分析,假设满足ΔE=0的灰度阈值有N个:XT={XT1,XT2,…,XTN},本文从中选择一个阈值使其对应的输出图像与BBHE算法的输出图像Y(Xm)具有最相似直方图,即应当满足:
根据式(10),阈值采用XT1与XT2的处理图1a的图像直方图与阈值采用Xm的输出图像直方图相似度分别为0.771 8与0.683 3,由式(11)可得最佳灰度阈值对图1b进行双直方图均衡,可取直方图相似度数值相对较大的最佳灰度阈值
图2 两幅测试图像的ΔE~XT关系曲线
2.2 算法描述
传统的BBHE算法采用原图像平均亮度作为灰度阈值,结果使输出图像的亮度与期望值之间存在一个明显的误差。本文提出一种新的灰度阈值选择算法,使输出图像亮度精确达到理论上的期望值。算法步骤如下:
1)计算原图像的亮度直方图H;
2)遍历所有可能的灰度阈值XT,按照式(8)与式(9)计算对应的ΔE值;
3)由ΔE~XT曲线求解满足ΔE=0的所有灰度阈值,按照式(10)与(11)从中选择最佳灰度阈值
3 实验仿真与结果分析
选取低亮度、中等亮度与高亮度的3幅实际图像用于本文算法的性能测试,并与BBHE算法进行比较。图3的第一列为测试图像及其直方图。图4为图3中的3幅测试图像的ΔE~XT曲线。根据式(6)计算输出图像的亮度期望值,然后由图4确定满足亮度期望值要求的所有灰度阈值。依据式(10)与式(11)确定对应于3幅图像的最佳灰度阈值XT*分别为6、223与127,最后采用以上阈值对3幅图像分别进行双直方图均衡处理,输出图像及其直方图见图3第二列。对于BBHE算法,采用3幅图像的平均亮度Xm作为灰度阈值,分别为10、202与136。BBHE算法的增强结果及其直方图见图3的右列。由于本文算法与BBHE算法选择的阈值不同,双直方图均衡处理后的图像效果也略有差别。观察两种方法增强后的图3a中的大门、图3b右侧的小树,亮度与对比度存在明显差别。对于中等亮度的图3c,两种方法增强后图像差异较小。
为了考察对输出图像亮度控制目标的精确性,表3分别记录了本文算法与BBHE算法用于分割直方图的灰度阈值、输出图像实际亮度E及其与亮度期望值ET的相对误差。统计数据表明,BBHE方法的输出图像实际亮度与期望值之间存在明显误差,误差大小随图像不同而变化,尤其是对于整体亮度偏暗或偏亮的图像,相对误差较大。以上3幅测试图像的相对误差范围在-36.94%~8.85%之间。采用本文算法处理的图像亮度与期望值之间的相对误差范围被缩小至0.43%~2.56%。本文算法对亮度控制目标的误差来源于式(3)中对直方图均衡后的子图像亮度估计,由于该项误差通常相对较小,本文算法的输出图像亮度与期望值基本一致,实现了对输出图像亮度目标的精确控制。
在算法运行效率上,本文算法相对于BBHE算法的主要差别在于灰度阈值的计算时间。由于算法中用于选取最佳灰度阈值的所有运算完全基于输入图像的灰度直方图,并不需要涉及像素空间信息,该计算量相对于图像直方图均衡处理时间可忽略不计。对运行时间的统计结果表明,本文算法与BBHE算法的运行效率没有明显差别。图3中测试图像的尺寸均为900×600,在Intel Core™ i3(3.07 GHz)、内存4G的微机上采用Matlab语言编程,BBHE算法的平均运算时间为2.56 ms,本文算法的平均运行时间为2.89 ms。对于一般尺寸的数字图像,算法效率均能满足实时处理要求。
图3 本文算法与BBHE算法的增强图像结果比较
图4 3幅测试图像的ΔE~XT曲线及其确定的灰度阈值
表3 输出图像的亮度误差统计
4 结 束 语
理论分析与仿真验证表明,传统双直方图均衡算法对输出图像亮度估计存在明显误差。为使输出图像亮度更好地与期望值一致,基于图像灰度直方图建立了输出图像亮度与灰度阈值的对应关系,由此确定满足输出图像亮度要求的若干阈值;运用直方图相似度最大原则选择最佳灰度阈值,将输入图像分解为两个子图像,然后对子图像进行独立的直方图均衡处理,最后合并处理后的子图像作为输出图像。该方法在传统双直方图均衡算法基础上显著提高了图像亮度保持目标的精确性与稳定性。算法效率完全满足实时要求。
[1]GONZALEZ R C, WOODS R E. 数字图像处理[M]. 阮秋琦译. 北京: 电子工业出版社, 2003: 72-88.GONZALEZ R C, WOODS R E. Digital image processing[M]. Translated by Ruan Qiu-qi. Beijing:Publishing House of Electronics Industry, 2003: 72-88.
[2]KIM Y T. Contrast enhancement using brightness preserving bi-histogram equalization[J]. IEEE Transactions on Consumer Electronics, 1997, 43(1): 1-8.
[3]WANG C, YE Z. Brightness preserving histogram equalization with maximum entropy: a variational perspective[J]. IEEE Transactions on Consumer Electronics,2005, 51(4): 1326-1334.
[4]王海峰. 一种小波域多边小波系数直方图均衡算法[J].山西大学学报(自然科学版), 2013, 36(3): 344-349.WANG Hai-feng. A histogram enhancement algorithm about multilateral wavelet coefficients on wavelet domain[J].Journal of Shanxi University (Natural Science Edition),2013, 36(3): 344-349.
[5]CHEN S D, RAMLI A R. Contrast enhancement using recursive mean-separate histogram equalization for scalable brightness preservation[J]. IEEE Transactions on Consumer Electronics, 2003, 49(4): 1301-1309.
[6]SHAJY L, SMITHA P, MARICHAMI P. Enhancement of sputum cytology images through recursive mean separate histogram equalization and SVM classification[C]//IEEE International Conference on Computational Intelligence and Computing Research. Coimbatore, India: 2014: 953-957.
[7]CHANG Y T, WANG J T, YANG W H, et al. Contrast enhancement in palm bone image using quad-histogram equalization[C]//International Symposium on Computer.Taichung, Taiwan, China: 2014: 1091-1094.
[8]KHAN M F, KHAN E, ABBASI Z A. Segment dependent dynamic multi-histogram equalization for image contrast enhancement[J]. Digital Signal Processing, 2014, 25(2):198-223.
[9]江巨浪, 张佑生, 薛峰, 等. 保持图像亮度的局部直方图均衡算法[J]. 电子学报, 2006, 34(5): 861-866.JIANG Ju-lang, ZHANG You-sheng, XUE Feng, et al.Local histogram equalization with brightness preservation[J].Acta Electronica Sinica, 2006, 34(5): 861-866.
[10]SANTHI K, WAHIDA B R S D. Contrast enhancement by modified octagon histogram equalization[J]. Signal, Image and Video Processing, 2015, 9(S1): 73-87.
[11]WANG Y, CHEN Q, ZHANG B M. Image enhancement based on equal area dualistic sub-image histogram equalization method[J]. IEEE Transactions on Consumer Electronics, 1999, 45(1): 68-75.
[12]CHEN S D, RAMLI A R. Minimum mean brightness error bi-histogram equalization in contrast enhancement[J].IEEE Transactions on Consumer Electronics, 2003, 49(4):1310-1319.
[13]武英. 保持图像亮度的改进双直方图均衡算法[J]. 计算机应用, 2010, 30(6): 1632-1634.WU Ying. Improved brightness preserving bi-histogram equalization algorithm[J]. Journal of Computer Applications, 2010, 30(6): 1632-1634.
[14]吕宗伟. 基于亮度保持的子图像加权对比度增强[J]. 电子学报, 2013, 41(2): 282-287.LÜ Zong-wei. Brightness preservation based weighted sub-images for contrast enhancement[J]. Acta Electronica Sinica, 2013, 41(2): 282-287.
[15]余权, 马胜前, 马冬梅. 保持图像亮度的自适应局部对比度增强[J]. 计算机工程与应用, 2015, 51(7): 160-164.YU Quan, MA Sheng-qian, MA Dong-mei. Adaptive local contrast enhancement with brightness preservation[J].Computer Engineering and Applications, 2015, 51(7):160-164.
[16]曾磊, 童莉, 李中国, 等. 基于直方图峰值的PCB三维CT图像双直方图均衡算法[J]. 信息工程大学学报, 2014,15(3): 319-324.ZENG Lei, TONG Li, LI Zhong-guo, et al. PCB three dimensional CT image enhancement based on maximum histogram coefficient bi-histogram equalization[J]. Journal of Information Engineering University, 2014, 15(3):319-324.
[17]THIEN H T, THUONG L T. Brightness preserving weighted dynamic range histogram equalization for image contrast enhancement[C]//IEEE International Conference on Advanced Technologies for Communications. Ho Chi Minh, Vietnam: 2013: 386-391.