基于图像分割的双直方图均衡算法
2021-03-14韩少刚江巨浪
韩少刚,江巨浪
(1.安庆师范大学数理学院,安徽安庆246133;2.安庆师范大学电子智能制造学院,安徽安庆246133)
直方图均衡化方法是一种直方图对比度自动增强算法[1],增强后的图像亮度通常保持在灰度级范围的中值附近,与原图像亮度没有任何关联,从而导致不自然的视觉效果与明显的人工处理痕迹。为了使原图像亮度在均衡之后得到保持,Kim提出了亮度保持的双直方图均衡算法[2],该算法以平均亮度为阈值,把原图像分割为两个子图分别进行直方图均衡,然后合并两个子图。相对于传统的直方图均衡化方法,双直方图均衡化方法能够避免图像的过度增强。针对直方图分割阈值的选择方法,文献[3]提出了等面积二元子图像直方图均衡算法,文献[4]提出了最小均值亮度差的双直方图均衡算法,文献[5]综合考虑了图像信息熵与图像亮度保持。文献[6]基于改进的K-means方法将图像聚类为多个子图像,然后对每个子图像单独进行直方图均衡化处理,但没有对图像聚类个数给出具体建议。大多数情况下,图像内容包含目标与背景两类对象,本文将图像分割为两个子图像,在对应的两个灰度区间分别进行直方图均衡化处理。相对于其他文本的双直方图均衡化算法,本文算法能够取得更加合理的对比度增强效果。
1 算法描述
1.1 算法步骤
基于K-Means图像分割的双直方图均衡算法的步骤如下:
(1)使用K-Means算法(取K=2),对图像进行聚类,得到两个子图像以及灰度级阈值GK。
(2)对两个子图像分别在其对应的灰度级范围内进行直方图均衡化。
(3)对直方图均衡化的两个子图进行合并,得到输出图像。
1.2 基于K-Means的图像分割
K-Means算法是基于欧式距离的排他性聚类划分方法[7]。K-Means算法只对已给定的完整数据集进行聚类划分,不需要特定的训练数据,是一种全自动的机器学习方法[8]。基于K-Means算法,可以将一幅图像分割为多个子图像。因为多数情况下图像内容主要包含目标与背景两类对象,所以本文将图像分割为两个子图像,算法步骤如下:
(1)以图像亮度均值为阈值将图像分割为两个子图像,并将两个子图像的平均亮度作为两个初始聚类中心;
(2)对于每个像素,计算其到两个聚类中心的距离,并将其归类到与其距离最近的聚类中心所在类中;
(3)对新生成的两个类,重新计算其聚类中心的值;
(4)重复循环步骤(2)、步骤(3),直到聚类中心不再变化。
采用K-Means(K=2)算法,可以将原图像中的目标与背景合理地聚类为两类对象。
1.3 图像的双直方图均衡化
首先采用K-Means算法将图像X分割为两个子图像X1和X2,其中子图像X1亮度较低,子图像X2亮度较高。原图像的灰度级范围为[0,L-1],取子图像X1的最高灰度级作为图像直方图分割的阈值,设为Gs。对X1在低亮度灰度级区间[0,Gs]进行直方图均衡化,对于X2在高亮度灰度级区间[Gs+1,L-1]上进行直方图均衡化,得到处理后的两个子图像Y1与Y2:
其中,p1(k)与p2(k)是灰度级为k的概率密度函数,c1(k)与c2(k)为子图像灰度级为k的累计概率密度函数,f1与f2为灰度转换函数,最后将均衡后的两个子图像Y1与Y2合并,得到输出图像Y=Y1∪Y2。
2 算法仿真结果及分析
采用2幅图像(直升机飞行图、运动员划艇图)对算法进行仿真,并与文献[2]中的BBHE算法、文献[5]中的基于双直方图均衡的自适应图像增强算法的实验结果进行比较。图像分割结果与直方图分割结果分别如图1、图2所示。文献[2]将图像亮度均值作为阈值,图像分割效果较差;文献[5]由图像的信息熵与亮度差来确定阈值,其图像分割结果比文献[2]的结果有所改善;本文算法基于K-means分割图像,合理地将图像像素分类,对图像中目标与背景的分割结果最为合理。
本文通过聚类方法将图像分割为两个子图像,然后对两个子图像在各自灰度范围内进行双直方图均衡化,该算法用于图像增强的仿真结果与文献[2]、文献[5]进行比较,结果如图3所示。同时,对图像的信息熵与平均亮度进行了统计,结果见表1。
图1 图像分割结果比较
图2 直方图分割结果比较
图3 图像增强效果比较
表1 信息熵和亮度统计
图3的仿真结果表明,采用文献[2]算法的结果虽然在一定程度上保持了原始图像亮度,但增强后的图像显得不自然,人工痕迹明显,具体体现在两幅图像中背景的过增强以及目标物的细节退化。观察用文献[5]算法得到的增强图像可以发现,在第一幅图像的天空增强结果中出现若干暗色斑块,第二幅图像的对比度增强效果不明显。本文算法的仿真结果表明,输出图像不仅在一定程度上保持了原始图像的亮度,还在图像质量上比文献[2]算法、文献[5]算法有显著提高,没有出现过度增强现象,图像细节得到合理的增强,视觉效果更加自然。表1的统计数据表明,本文算法在一定程度上保持了原始图像亮度,增强的图像具有最大的熵值,表明图像细节信息比其他两种算法得到了更好的保留。
3 结论
本文提出了一种基于K-Means分割的双直方图均衡算法,利用聚类方法对图像进行有效分割,使两个子图像合理对应于原始图像中的目标与背景,采用双直方图均衡化方法完成对图像的增强。仿真结果表明,这种基于图像像素类别的直方图均衡化方法,能够更好地增强图像细节,有效避免出现过增强现象,从而取得较为自然的对比度增强效果。