APP下载

对比度增强的彩色图像灰度化算法

2018-10-31刘美薛新松刘广文刘智才华

关键词:彩色图像像素点灰度

刘美,薛新松,刘广文,刘智,才华

(长春理工大学 电子信息工程学院,长春 130022)

随着图像处理和现代科技的不断进步,灰度图像凭借其信息量小和运算速率高等特点被广泛的应用于许多图像预处理阶段,比如运动目标追踪和人脸识别。灰度图像可以理解为一种用介于黑色和白色之间的灰度值来表示的图像,也可以看做是对任何一种颜色亮度值在不同程度上的采样,还可以理解为是对亮度值不同的不同颜色种类的采样[1]。

一般来说,彩色到灰度的方法可以在局部或全局进行。在全局映射方法中,输入图像的所有像素使用相同的颜色到灰色映射。Gooch等人[2]引入了Color2gray算法,通过目标函数最小化过程找到最佳匹配原始色差的灰度值。Rasche等人[3]试图保持对比度,同时保持一致的亮度。Rasche等[4]将颜色投影到3D颜色空间中的线性轴上。Grundland和Dodgson[5]提出了一种快速线性映射算法。库恩等人[6]提出了一种基于质量弹簧的方法,用于颜色到灰度级转换期间增强对比度。Kim等人[7]提出了一种用于颜色到灰色转换的非线性全局映射方法,该方法保留了特征可区分性和合理的颜色排序。

在局部映射方法中,像素值的颜色到灰度映射取决于空间上变化颜色的局部分布。Bala和Eschbach[8]提出了一种将高频彩色分量添加到亮度的方法。Neumann等人[9]通过彩色图像的梯度重建灰度图像。Smith等人[10]将图像分解为多个频率分量,并使用色彩通道调整组合权重。这些局部映射算法有效地保留了局部特征,但可能会使恒定颜色区域出现畸变。

1 经典彩色图像灰度化方法简述

1.1 传统彩色图像灰度化算法

根据色度学理论,彩色图像中的每个像素都由红、绿、蓝三基色按不同比例相配而成[11,12]。输入彩色图像任意像素点的三分量记为Rx(i,j)、Gx(i,j)、Bx(i,j),并假设gx(i,j)为对应点的灰度值。gx(i,j)的取值通常可分为以下四种方法[13]:

(1)分量法:gx(i,j)取该像素点三分量中的任何一个分量,即:

(2)平均值法:gx(i,j)取该像素点三分量的均值,即:

(3)最大值法:gx(i,j)取该像素点三分量中的最大值,即:

(4)加权法:gx(i,j)取该像素点三分量的加权平均值,即:

其中,WR,WG和WB分别为Rx(i,j)、Gx(i,j)、Bx(i,j)对应的权值。

1.2 对比度保存脱色算法

Lu等人[14]提出的对比度保存脱色算法是目前灰度化效果较好的,该算法能够最大程度的保留原彩色图像的颜色对比度,算法步骤如下:

首先,定义一个映射函数,即:

其中,cr,cg,cb是输入图像的RGB三通道值,f表示图像的灰度值,mi是cb1rcb2gcb3b幂级数的组合,取b1+b2+b3=2,对应9项mi分别为:cr,cg,cb,crg,crb,cgb,c2r,c2g,c2b,与之对应的9项wi是待优化的参数。

其次,构造能量函数:

其中,gx和gy分别表示像素点x和y的灰度值,δxy为像素x与像素y的颜色对比度,在CIE Lab空间上可表示为:

在式(6)中,像素x与像素y的灰度值差异遵循δxy的高斯分布,因此,求解式(6)即最大化:

其中,像素对P中的像素对x和y的灰度差表示为Δgx,y=gx-gy,σ是一个可控参数。通过弱色彩约束,规定δxy的符号为“+”或“-”,根据双峰模型构造出能量函数:

最后,最小化能量函数,求出wi的值,带入式(5),得到灰度图像。

2 对比度增强的灰度化算法

2.1 对比度增强的灰度化模型

定义g=f(c,s)为彩色到灰度图像的全局非线性映射函数。其中,s表示每个像素点的饱和度,c表示每个像素点的颜色向量,即c=(r,g,b)。该映射函数将像素灰度值参数化为一个四维向量[15],克服了Lu等人算法将亮度或色度值接近但饱和度值差异较大的像素映射到相似灰度值的缺点,从而增强对比度。映射函数公式如下:

其中,(b1,b2,b3,b4)是(cr,cg,cb,cs)各通道的幂。根据经验规定b1+b2+b3+b4≤2,对应14项mi,即{cr,cg,cb,cs,crcg,crcb,cgcb,cscr,cgcs,cbcs,c2r,c2g,c2b,c2s}。wi是与mi对应的系数。因此,本文的重点就是求解14个参数wi。

2.2 对比度保持能量项

为了能够充分的保持输入图像的对比度信息,本文采用双峰模型[14]来构造误差能量函数。

双峰模型可以看做是高斯分布函数的混合,该模型放宽了严格的颜色约束,从而能够产生更灵活的对比度保留约束。双峰模型具体描述如下:设δxy是像素x与像素y的颜色对比度,在CIE-Lab空间可以表示成像素x与像素y的欧式距离,如公式(6)所示。如果输入彩色图像中两个像素点之间颜色向量差异的方向可以通过三通道直接确定时,即rx≤ry,gx≤gy,bx≤by或rx≥ry,gx≥gy,bx≥by时,δxy的符号就完全由gx-gy决定,当两像素点的三通道值大小关系不一致时,则模糊选择δxy的符号为“+”或者为“-”。

基于双峰模型,构造了如下能量函数:

该误差能量函数的算法构架与Lu等人算法相似,重点考虑了相邻像素点间的颜色差异。但是Lu等人的算法没有考虑到像素本身的颜色特征,因此容易丢失图像边界信息。本文算法考虑像素对本身的色彩特征,将每个像素点都当成是一个变量,以达到更多的保留输入图像的细节信息的目的。

对于输入图像中的任一像素点x,它的相邻像素点为y,且(x,y)∈N,N表示像素点x的四邻域像素点集合,δxy是颜色对比度,当αxy=1时,δxy的符号取“+”,表示使用高斯模型,当αxy=0.5时,表示使用双峰模型。σ是一个平滑变量,默认σ=0.1。

最大化(13)式相当于最小化其负对数,表示为:

2.3 灰度特征能量保持项

R、G、B三个值相等的像素即为灰度像素。理论上,这些像素在进行灰度变换时灰度值应不变,即等于原来像素值[16]。然而很多已有的灰度算法往往忽略了这一点。

首先,从输入图像中提取出与R、G、B值相等的像素点并标记出每一个像素点的位置。为了确使标记出的灰度像素可以和其他像素保持对比和数量级上的一致性,求出每一个灰度像素点的四邻域像素集。然后再将这些被标记的像素作为常量,构建相应的能量函数。在构建能量函数时,将被标记像素和它的四邻域像素点的灰度值的差异当做是遵循均值δxz的高斯分布。规定δxz的符号只能为“+”或者为“-”。能量函数如下:

其中,D表示灰度像素z的四邻域素点的集合;P表示图中所有灰度像素z的集合;δzx表示像素x与灰度像素z的颜色差异;当αxy=1时,δxy的符号取“+”,表示使用高斯模型,当αxy=0.5时,表示使用双峰模型。Νσ表示像素x与灰度像素z之间的差异服从高斯分布,公式如下:

其中,Δgzx=gz-gx,gx表示像素x的灰度值,gz表示灰度像素z的灰度值,σ是一个变量,默认σ=0.1。

该能量函数表示每个灰度像素均与它的四邻域像素进行一次能量计算,这样既使输入图像中的灰度像素与其他像素的灰度值相关联,又能大大减少程序的运行时间,同时还最大限度的保持了原图像的局部结构信息。

2.4 总的能量函数

在计算出保持对比度能量函数E1和灰度保持能量函数E2后,将这两项函数进行线性结合得出总的误差能量函数:

式中,λ1,λ2分别表示能量函数在总能量函数中所占的比列,通常情况下,默认λ1=1,λ2=1Q,Q表示输入图像中的灰度像素的个数。

求解总的能量函数,可以对wi求偏导数,令其偏导等于零即可得到一个含有14个方程的方程组,解该方程组即能求出14个系数wi。令li(xy)=mixmiy;li(xz)=mix-miz;

为了求解系数wi,本文采用固定点迭代策略对ω进行线性化。为了求解第(t+1)次迭代中的,用ωtj来表示非线性项βt,得:

式中,未知数只存在于等式左边,取wj0的初始值为{0.33,0.33,0.33,0,0,0,0,0,0,0,0,0,0},将wj0的初始值带入方程(22)右边,求出ωtj+1,再把ωtj+1的值当做ωtj的值带入方程(22)右边继续循环,设定循环次数为15次。最后将求得的14个参数带入式(10)求得最终的灰度结果。

3 实验结果

为了验证本文算法的有效性,采用了大量含有丰富色差信息的图像进行试验,并与当前灰度化效果较好的 Gooch等人[2]、Smith等人[10]和 Lu 等人[14]的试验结果进行对比分析。图1是本文算法效果与现有几种方法的比较。为了更明显的显现出本文算法对比度增强的优势,采用了图像信息熵和平均梯度将本文实验的结果与现有几种经典算法结果进行了客观的对比分析。表1是本文算法和几种经典算法结果的信息熵,表2是本文算法和几种经典算法结果的平均梯度。图片一至图片五的Q值分别取35、36、82、150和12。

图1 改进的对比度增强的图像灰度化算法效果与现有方法比较

表1 灰度图像的信息熵

表2 灰度图像的平均梯度

对比图1中第一幅图、第五幅图分别经四种灰度化算法处理后的结果,可以明显的看出经本文算法得出的灰度图保留了原图中花瓣的更多对比度信息,表1中灰度图像的信息熵也证实了本文更多的保留了原图的信息量,这是因为第一幅图和第五幅图中都存在许多亮度相差小但是饱和度相差很大的像素点;对比图1、表1和表2中第二幅图经四种灰度化算法处理后的结果,原图像中花朵的黄色部分经本文算法灰度化后得以保存,而Lu等人[14]的算法灰度化却造成这一重要信息的丢失;图1中第三幅图片经过灰度化后,可以明显的看出本文算法能更多的保留苹果的对比度信息,这是因为第三幅图中存在许多色调和亮度相差都很小且饱和度差异很大的像素,同时还含有许多灰度像素;图1中第四幅图经过四种不同算法后得出的灰度图,可以明显的看出本文算法更多的体现了原图的对比度信息,这是由于本文算法中加入了灰度能量保持项,使得大量的灰度像素的特征得以保留,从而增加了对比度。通过比较现有的几种灰度效果较好的算法和本文算法的灰度结果,可以很明显的看出本文算法能够更有效的保存原彩色图像的细节信息,增强图像的对比度。

4 结论

彩色图像的灰度化是图像处理中重要的研究课题。传统的灰度化算法存在很多缺陷,这些算法通常会将有相同颜色的色彩转化为同样的灰度,因此造成对比度的缺失。本文给出了一种对比度增强的彩色图像灰度化算法,在映射函数中添加饱和度,充分考虑了饱和度对图像灰度化的影响。通过对大量的的含有丰富色差信息的彩色图像进行实验,结果表明,本文算法能够增强灰度图像的对比度,保留原始图像的更多细节信息。

猜你喜欢

彩色图像像素点灰度
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于局部相似性的特征匹配筛选算法
基于FPGA的实时彩色图像边缘检测
基于5×5邻域像素点相关性的划痕修复算法
基于专家模糊技术的彩色图像对比度增强方法
基于canvas的前端数据加密
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于灰度线性建模的亚像素图像抖动量计算