一种基于多峰高斯分布函数的彩色图像灰度化方法转让专利

申请号 : CN201710542659.3

文献号 : CN107392967B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵汉理张海宁

申请人 : 温州大学

摘要 :

本发明实施例公开了一种基于多峰高斯分布函数的彩色图像灰度化方法,包括给定彩色输入图像及每一个像素点颜色值;基于每一个像素点及其局部相邻的像素点构建一个局部颜色对集合;基于线性包围体层次结构构建一个显著颜色对集合;定义一个基于多峰高斯分布函数的彩色图像灰度化能量函数和一个线性参数函数,并且基于线性参数离散化方法选取能量函数值中最小的参数取值组合作为最佳的线性参数的值;根据线性参数函数和最佳的线性参数的值,计算出最终的输出图像,即为所求的仅包含亮度通道的8位单通道灰度图像。实施本发明,既能够较好地保持局部的相邻像素点的颜色对比度信息,也能有效地保持全局的显著颜色对比度信息。

权利要求 :

1.一种基于多峰高斯分布函数的彩色图像灰度化方法,其特征在于,所述方法包括:S1、确定彩色输入图像及其对应在输出图像上的目标灰度通道数,并获取所述彩色输入图像中每一个像素点的颜色值;

S2、根据所述彩色输入图像中每一个像素点的颜色值,构建局部颜色对集合;

S3、根据所述彩色输入图像目标灰度通道数以及所述彩色输入图像中每一个像素点的颜色值,构建显著颜色对集合;

S4、定义一个基于多峰高斯分布函数的彩色图像灰度化能量函数和一个所述彩色输入图像映射到所述输出图像的线性参数函数,并根据所述局部颜色对集合、显著颜色对集合以及所述彩色图像灰度化能量函数中预设的参数值,基于线性参数离散化方法选取能量函数值中最小的参数取值组合作为最佳的线性参数的值;

S5、根据所述求解出的线性参数函数上线性参数的最佳值,将所述彩色输入图像中每一个像素点分别对应映射到所述输出图像的亮度值,从而得到最终的输出图像。

2.如权利要求1所述的彩色图像灰度化方法,其特征在于,所述步骤S2具体包括:扫描所述彩色输入图像中每一个像素点的颜色值及其分别对应右方相邻像素点和下方相邻像素点的颜色值,得到所述彩色输入图像中每一个像素点各自对应的两对颜色值组合;其中,一对颜色值组合由所述彩色输入图像中每一个像素点的颜色值及其对应右方相邻像素点的颜色值形成;另一对颜色值组合由所述彩色输入图像中每一个像素点的颜色值及其对应下方相邻像素点的颜色值形成;

将所述彩色输入图像中每一个像素点所对应的每一对颜色值组合均作为样本并形成集合,且进一步对所述集合中存在的任一重复样本均进行删除并只存留一个,使得所述删除重复样本后的集合中所有样本均不同并作为所述局部颜色对集合。

3.如权利要求1所述的彩色图像灰度化方法,其特征在于,所述步骤S3具体包括:根据所述彩色输入图像目标灰度通道数,确定所述彩色输入图像中每一个像素点的颜色值分别对应由机器语言表示的二进制莫顿码及其对应的位数;

根据所述彩色输入图像中每一个像素点的颜色值各自对应的二进制莫顿码,构造线性包围体层次结构并进行聚类运算,得到所述显著颜色对集合。

4.如权利要求1所述的彩色图像灰度化方法,其特征在于,所述基于多峰高斯分布函数的彩色图像灰度化能量函数具体为:式中,(Ca,Cb)表示步骤S2所计算的局部颜色对集合PN和步骤S3所计算的显著颜色对集合PD中的一对颜色对;彩色输入图像的颜色值可记作C=(R,G,B);其中,R、G、B分别表示红、绿、蓝三个颜色分量;输出图像记为I;因此,可以记Ca=(Ra,Ga,Ba)、Cb=(Rb,Gb,Bb),则Ia和Ib分别为Ca和Cb所对应的在输出图像I中的亮度值;

w表示为预先给定的该彩色输入图像的宽度,h表示为预先给定的该彩色输入图像的高度;

||Ca||和||Cb||表示步骤S3所计算的显著颜色对集合PD中颜色值分别为Ca和Cb的像素点数量;

||PN||表示步骤S2所计算的局部颜色对集合PN中所包含的颜色对数量;

μ表示为预先给定的均值参数值、σ表示为预先给定的标准差参数值、λ表示为预先给定的正则化加权参数值。

5.如权利要求1所述的彩色图像灰度化方法,其特征在于,所述彩色输入图像为24位三个颜色通道的RGB彩色图像;所述输出图像为8位单通道灰度图像。

说明书 :

一种基于多峰高斯分布函数的彩色图像灰度化方法

技术领域

[0001] 本发明涉及计算机图形图像处理技术领域,尤其涉及一种基于多峰高斯分布函数的彩色图像灰度化方法。

背景技术

[0002] 彩色图像灰度化是计算机图形图像处理技术领域中的一个基本操作,在诸多计算机图形图像处理应用中有着广泛的用途。彩色图像灰度化是一种将包含三个颜色通道的24位彩色图像转换为只包含一个亮度通道的8位灰度图像的过程。该转换过程实质上是一种数据降维操作,不可避免地会造成图像中一些对比度信息的丢失。因此,尽可能多地保持原彩色图像的对比度信息是当前彩色图像灰度化研究中的一个重要内容。
[0003] 近些年来,已经有许多研究学者提出了各自的一些关于彩色图像灰度化的方法,大致可以分为基于颜色空间变换的映射方法和基于内容的映射方法。
[0004] 在基于颜色空间变换的映射方法中,该方法基于一个常量的颜色空间变换矩阵,统一地将彩色图像中包含三个颜色通道的颜色值映射到只包含一个亮度通道的亮度值。例如,将红绿蓝颜色空间转换到CIE-L*a*b*颜色空间并提取出亮度通道就是其中一种比较常用的方法(请参见文献:G.Wyszecki,W.S.Stiles.Color science:Concepts and methods,quantitative data and formulas.2nd Edition,Wiley-Interscience,New York,2000)。但是该方法的缺点在于:对于包含了不同的颜色信息而亮度信息却相同的图像区域,该方法只会统一地将不同的颜色值映射到相同的亮度值,却无法保持该图像区域中的颜色对比度信息。
[0005] 在基于内容的映射方法中,该方法会自动地根据彩色图像中的具体视觉内容完成彩色图像灰度化的过程。例如,Gooch等首次提出了一种基于对比度保持的彩色图像灰度化方法,根据彩色图像的亮度对比度和色度对比度来确定灰度图像的目标对比度并建立一个能量函数,通过求解能量函数的最小值来计算出灰度图像(请参见文献:A.A.Gooch,S.C.Olsen,J.Tumblin,B.Gooch.Color2gray:Salience preserving color removal.ACM Transactions on Graphics,2005,24(3),634–639),但是运行效率较低,且颜色对比度保持效果较差;又如,Lu等通过弱化颜色值的大小次序提出了一种基于双峰高斯分布函数的彩色图像灰度化方法(具体请参见文献:C.Lu,L.Xu,J.Jia.Contrast preserving decolorization with perception-based quality metrics.International Journal of Computer Vision,2014,110(2),222–239),虽然改进了颜色对比度信息的保持能力,但是所采用的双峰高斯分布函数将三个颜色分量的对比度汇总为一个目标对比度,因此对颜色对比度的保持能力还比较有限。
[0006] 除了上面介绍的彩色图像灰度化方法以外,还有许多其他的彩色图像灰度化方法,但是这些算法或多或少都具有一些缺陷。因此,亟需一种全新的彩色图像灰度化方法,既能够较好地保持局部的相邻像素点的颜色对比度信息,也能有效地保持全局的显著颜色对比度信息。

发明内容

[0007] 本发明实施例的目的在于提供一种基于多峰高斯分布函数的彩色图像灰度化方法,既能够较好地保持局部的相邻像素点的颜色对比度信息,也能有效地保持全局的显著颜色对比度信息。
[0008] 为了解决上述技术问题,本发明实施例提供了一种基于多峰高斯分布函数的彩色图像灰度化方法,所述方法包括:
[0009] S1、确定彩色输入图像及其对应在输出图像上的目标灰度通道数,并获取所述彩色输入图像中每一个像素点的颜色值;
[0010] S2、根据所述彩色输入图像中每一个像素点的颜色值,构建局部颜色对集合;
[0011] S3、根据所述彩色输入图像目标灰度通道数以及所述彩色输入图像中每一个像素点的颜色值,构建显著颜色对集合;
[0012] S4、定义一个基于多峰高斯分布函数的彩色图像灰度化能量函数和一个所述彩色输入图像映射到所述输出图像的线性参数函数,并根据所述局部颜色对集合、显著颜色对集合以及所述彩色图像灰度化能量函数中预设的参数值,基于线性参数离散化方法选取能量函数值中最小的参数取值组合作为最佳的线性参数的值;
[0013] S5、根据所述求解出的线性参数函数上线性参数的最佳值,将所述彩色输入图像中每一个像素点分别对应映射到所述输出图像的亮度值,从而得到最终的输出图像。
[0014] 其中,所述步骤S2具体包括:
[0015] 扫描所述彩色输入图像中每一个像素点的颜色值及其分别对应右方相邻像素点和下方相邻像素点的颜色值,得到所述彩色输入图像中每一个像素点各自对应的两对颜色值组合;其中,一对颜色值组合由所述彩色输入图像中每一个像素点的颜色值及其对应右方相邻像素点的颜色值形成;另一对颜色值组合由所述彩色输入图像中每一个像素点的颜色值及其对应下方相邻像素点的颜色值形成;
[0016] 将所述彩色输入图像中每一个像素点所对应的每一对颜色值组合均作为样本并形成集合,且进一步对所述集合中存在的任一重复样本均进行删除并只存留一个,使得所述删除重复样本后的集合中所有样本均不同并作为所述局部颜色对集合。
[0017] 其中,所述步骤S3具体包括:
[0018] 根据所述彩色输入图像目标灰度通道数,确定所述彩色输入图像中每一个像素点的颜色值分别对应由机器语言表示的二进制莫顿码及其对应的位数;
[0019] 根据所述彩色输入图像中每一个像素点的颜色值各自对应的二进制莫顿码,构造线性包围体层次结构并进行聚类运算,得到所述显著颜色对集合。
[0020] 其中,所述基于多峰高斯分布函数的彩色图像灰度化能量函数具体为:
[0021]
[0022]
[0023]
[0024] 式中,(Ca,Cb)表示步骤S2所计算的局部颜色对集合PN和步骤S3所计算的显著颜色对集合PD中的一对颜色对;彩色输入图像的颜色值记作C=(R,G,B);其中,R、G、B分别表示红、绿、蓝三个颜色分量;输出图像记为I;因此,可以记Ca=(Ra,Ga,Ba)、Cb=(Rb,Gb,Bb),则Ia和Ib分别为Ca和Cb所对应的在输出图像I中的亮度值;
[0025] w表示为预先给定的该彩色输入图像的宽度,h表示为预先给定的该彩色输入图像的高度;
[0026] ||Ca||和||Cb||表示步骤S3所计算的显著颜色对集合PD中颜色值分别为Ca和Cb的像素点数量;
[0027] ||PN||表示步骤S2所计算的局部颜色对集合PN中所包含的颜色对数量;
[0028] μ表示为预先给定的均值参数值μ、σ表示为预先给定的标准差参数值、λ表示为预先给定的正则化加权参数值。
[0029] 其中,所述彩色输入图像为24位三个颜色通道的RGB彩色图像;所述输出图像为8位单通道灰度图像。
[0030] 实施本发明实施例,具有如下有益效果:
[0031] 本发明为了尽可能多地保持原彩色图像的对比度信息,采用一个基于多峰高斯分布函数的彩色图像灰度化能量函数。该多峰高斯分布函数包含了三个高斯函数,三个高斯函数分别将三个颜色分量的对比度信息作为目标对比度信息,因此该多峰高斯分布函数能够有效地保持彩色图像的颜色对比度信息。同时,基于每一个像素点及其局部相邻的像素点构建局部颜色对集合,基于线性包围体层次结构构建显著颜色对集合,使得本发明既能够较好地保持局部的相邻像素点的颜色对比度信息,也能有效地保持全局的显著颜色对比度信息。此外,本发明所提出的基于多峰高斯分布函数的彩色图像灰度化方法还具有可并行性高和运行高效等优点。

附图说明

[0032] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
[0033] 图1为本发明实施例提供的一种基于多峰高斯分布函数的彩色图像灰度化方法的流程图。

具体实施方式

[0034] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035] 如图1所示,为本发明实施例中,提出的一种基于多峰高斯分布函数的彩色图像灰度化方法,所述方法包括:
[0036] 步骤S1、确定彩色输入图像及其对应在输出图像上的目标灰度通道数,并获取所述彩色输入图像中每一个像素点的颜色值;
[0037] 具体过程为,给定一张包含三个颜色通道的24位彩色图像为彩色输入图像,该彩色输入图像的颜色值可记作C=(R,G,B);其中,R、G、B分别表示红、绿、蓝三个颜色分量。
[0038] 给定该彩色输入图像的宽度记作w,给定该彩色输入图像的高度记作h,则该彩色输入图像中任一像素点的坐标值可记作p=(x,y),其中,x∈{0,1,2,…,w-1},y∈{0,1,2,…,h-1},因而可将该彩色输入图像中任一像素点p的颜色值均可记为Cp=(Rp,Gp,Bp)。
[0039] 确定该彩色输入图像C目标灰度为8位单通道灰度的输出图像,并将该输出图像记为I。应当说明的是,该输出图像I具有与该彩色输入图像C相同的宽度w和高度h,且该输出图像I对应彩色输入图像C中任一像素点p的亮度值记为Ip;由于彩色输入图像C对应图像灰度通道数为8位,则使得Rp、Gp、Bp、Ip都是8位二进制数,且取值范围都为{0,1,2,…,255}。
[0040] 步骤S2、根据所述彩色输入图像中每一个像素点的颜色值,构建局部颜色对集合;
[0041] 具体过程为,步骤S21、扫描所述彩色输入图像中每一个像素点的颜色值及其分别对应右方相邻像素点和下方相邻像素点的颜色值,得到所述彩色输入图像中每一个像素点各自对应的两对颜色值组合;其中,一对颜色值组合由所述彩色输入图像中每一个像素点的颜色值及其对应右方相邻像素点的颜色值形成;另一对颜色值组合由所述彩色输入图像中每一个像素点的颜色值及其对应下方相邻像素点的颜色值形成;
[0042] 具体为,扫描彩色输入图像C任一像素点p坐标值(x,y)及其对应的颜色值Cp,并确定该像素点p的右方相邻像素点pr=(x+1,y)及其对应的颜色值Cpr,以及确定该像素点p的下方相邻像素点pb=(x,y+1)及其对应的颜色值Cpb。
[0043] 步骤S22、将所述彩色输入图像中每一个像素点所对应的每一对颜色值组合均作为样本并形成集合,且进一步对所述集合中存在的任一重复样本均进行删除并只存留一个,使得所述删除重复样本后的集合中所有样本均不同并作为所述局部颜色对集合。
[0044] 具体为,对于每一个像素点p均能够对应有两对颜色值组合(Cp,Cpr)和(Cp,Cpb),并将该彩色输入图像C中所有的像素点所对应的颜色值组合共同组成集合PN1。由于集合PN1的构建包含了相邻像素点的颜色信息,因此PN1中存在一些颜色值完全相同的颜色对。为了充分保持PN1中数量较少的颜色对的对比度,删除PN1中所有重复的完全相同的颜色对,使得所有颜色对都互不相同,构建出局部颜色对集合PN,记局部颜色对集合PN中所包含的颜色对数量为||PN||。
[0045] 步骤S3、根据所述彩色输入图像目标灰度通道数以及所述彩色输入图像中每一个像素点的颜色值,构建显著颜色对集合;
[0046] 具体过程为,步骤S31、根据所述彩色输入图像目标灰度通道数,确定所述彩色输入图像中每一个像素点的颜色值分别对应由机器语言表示的二进制莫顿码及其对应的位数;
[0047] 具体为,由于该彩色输入图像C三个颜色通道都是8位二进制数,该彩色输入图像C8
中的每一个像素点的每个颜色分量的可能取值有2=256个,取值范围为{0,1,2,…,255},因此,该彩色输入图像C中任一像素点p颜色值Cp的可能取值个数有28×28×28=224个,使得每一个像素点的颜色值均对应一个24位二进制莫顿码。
[0048] 步骤S32、根据所述彩色输入图像中每一个像素点的颜色值各自对应的二进制莫顿码,构造线性包围体层次结构并进行聚类运算,得到所述显著颜色对集合。
[0049] 具体为,基于该彩色输入图像C中的所有像素点的颜色值各自所对应的24位二进制莫顿码构造一个线性包围体层次结构(Linear Bounding Volume Hierarchy),线性包围体层次结构构造完成后,该彩色输入图像C中的所有像素点会根据颜色值被分别聚类到线性包围体层次结构中的不同叶子结点中。应当说明的是,线性包围体层次结构的具体构造过程请参见文献:C.Lauterbach,M.Garland,S.Sengupta,D.Luebke,D.Manocha.Fast BVH construction on GPUs.Computer Graphics Forum,2009,28(2),375–384。
[0050] 鉴于最终得到的显著颜色对集合只保存该彩色输入图像C中的显著颜色的颜色对信息,因此需要进行聚类运算,具体包括:首先,将所包含的像素点数量少于0.001×w×h的叶子结点删除;其次,将余下的叶子结点中所包含的像素点数量最多的颜色值作为该叶子结点的显著颜色值记为Ca,并保存显著颜色值Ca的像素点数量记为||Ca||;然后,将所有的显著颜色值Ca组成显著颜色集合,记为SD;最后,根据显著颜色集合SD,构建显著颜色对集合PD={(p1,p2)|p1∈SD,p2∈SD,p1≠p2}。
[0051] 步骤S4、定义一个基于多峰高斯分布函数的彩色图像灰度化能量函数和一个所述彩色输入图像映射到所述输出图像的线性参数函数,并根据所述局部颜色对集合、显著颜色对集合以及所述彩色图像灰度化能量函数中预设的参数值,基于线性参数离散化方法选取能量函数值中最小的参数取值组合作为最佳的线性参数的值;
[0052] 具体过程为,步骤S41、定义一个基于多峰高斯分布函数的彩色图像灰度化能量函数E:
[0053]
[0054]
[0055]
[0056] 式中,(Ca,Cb)表示局部颜色对集合PN和显著颜色对集合PD中的一对颜色对,且根据步骤S1中的定义Ca=(Ra,Ga,Ba)和Cb=(Rb,Gb,Bb),则Ia和Ib为Ca和Cb所对应的在输出图像I中的亮度值;||Ca||和||Cb||表示步骤S3所计算的显著颜色对集合PD中颜色值分别为Ca和Cb的像素点数量。||PN||表示步骤S2所计算的局部颜色对集合PN中所包含的颜色对数量;w表示为预先给定的该彩色输入图像的宽度,h表示为预先给定的该彩色输入图像的高度;其中,预先给定该多峰高斯分布函数的彩色图像灰度化能量函数的均值参数值μ、标准差参数值σ和正则化加权参数值λ。
[0057] 步骤S42、定义一个所述彩色输入图像映射到所述输出图像的线性参数函数。由于彩色输入图像C目标灰度至输出图像I上就是将该彩色输入图像C基于线性参数函数映射到输出图像I上,即I=wR×R+wG×G+wB×B;其中,wR、wG、wB为相应颜色分量的线性参数。因此,该线性参数函数使得对输出图像I中所有像素点的亮度值的求解,可以化简为对该三个线性参数(wR,wG,wB)的求解。
[0058] 步骤S43、基于线性参数离散化方法选取能量函数值中最小的参数取值组合作为最佳的线性参数的值。根据线性参数函数定义,Ia=wR×Ra+wG×Ga+wB×Ba,Ib=wR×Rb+wG×Gb+wB×Bb。为了尽可能多地保持该彩色输入图像C中的颜色对比度的信息,对基于多峰高斯分布函数的彩色图像灰度化能量函数E进行最小化,得到输出图像I的所有像素点的亮度值。
[0059] 对三个线性参数(wR,wG,wB)的值进行正则化约束,即:0≤wR≤1、0≤wG≤1、0≤wB≤1、wR+wG+wB=1,该约束可以有效地缩小该三个线性参数的取值范围。由于输出图像I中的每个亮度值是一个8位二进制的离散数值,因此可以对该三个线性参数的取值范围进一步地缩小。具体地,基于步长为0.1对该三个线性参数的值进行离散化,即wR∈{0,0.1,0.2,…,
0.9,1.0}、wG∈{0,0.1,0.2,…,0.9,1.0}、wB=1.0-(wR+wG)。对该三个线性参数的值进行步长为0.1的离散化后,使用穷举法总共可以列出66个可能的参数取值组合,即(wR,wG,wB)∈{(0.0,0.0,1.0),(0.0,0.1,0.9),…,(0.9,0.1,0.0),(1.0,0.0,0.0)}。因此,对该三个线性参数(wR,wG,wB)的求解进一步化简为从该66个可能的参数取值组合中选取一个最佳的参数取值组合。将该66个可能的参数取值组合代入基于多峰高斯分布函数的彩色图像灰度化能量函数E可以分别计算出66个能量函数值,选取66个能量函数值中最小的参数取值组合作为最佳的(wR,wG,wB)的值。
[0060] 步骤S5、根据所述求解出的线性参数函数上线性参数的最佳值,将所述彩色输入图像中每一个像素点分别对应映射到所述输出图像的亮度值,从而得到最终的输出图像。
[0061] 具体过程为,根据步骤S4所定义的线性参数函数和所得到的最佳的三个线性参数(wR,wG,wB)的值,将该彩色输入图像C中每一个像素点映射到输出图像I上的亮度值,从而得到最终的输出图像I,即I=wR×R+wG×G+wB×B。最终输出图像即为所求的仅包含亮度通道的8位单通道灰度图像。
[0062] 实施本发明实施例,具有如下有益效果:
[0063] 本发明为了尽可能多地保持原彩色图像的对比度信息,采用一个基于多峰高斯分布函数的彩色图像灰度化能量函数。该多峰高斯分布函数包含了三个高斯函数,三个高斯函数分别将三个颜色分量的对比度信息作为目标对比度信息,因此该多峰高斯分布函数能够有效地保持彩色图像的颜色对比度信息。同时,基于每一个像素点及其局部相邻的像素点构建局部颜色对集合,基于线性包围体层次结构构建显著颜色对集合,使得本发明既能够较好地保持局部的相邻像素点的颜色对比度信息,也能有效地保持全局的显著颜色对比度信息。此外,本发明所提出的基于多峰高斯分布函数的彩色图像灰度化方法还具有可并行性高和运行高效等优点。
[0064] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
[0065] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。