增强图像颜色的方法
技术领域
本发明涉及一种增强图像颜色的方法,应用于静止图像处理、序列图像处理、视频图像增强等技术领域。
背景技术
图像在颜色方面的处理主要是使恢复的颜色逼真,但适当的变化使得图像颜色饱和度加强和层次增多,会使图像颜色更加鲜艳,这符合许多应用场合下的应用需求。
基于人眼视觉的颜色有三个要素:亮度、饱和度和色调。色彩增强通常对颜色的饱和度进行处理,并且同时避免其他两个要素发生变化。颜色增强的方法通常使用HSV颜色模型,也有使用RGB模型。HSV或HSB模型是基于人眼视觉的模型,虽然该模型并非完全符合人眼视觉特征,比如v定义的亮度与人眼感知亮度是非线性关系,它们仍然在色彩处理方法中占有重要地位。HSV模型中h为色调,其值域为[0,360],s为饱和度,其值域为[0,1],v为亮度,其值域为[0,1]。普通的颜色增强技术注重仅仅增强色彩饱和度,使颜色趋向饱和,在一些场合确实带给人们鲜艳的视觉感受,但这种增强是有限的,过多地增强颜色饱和度使图像显示不自然,而且容易改变颜色色温。
本专利通过直方图均衡来处理HSV模型中的s参量,增强饱和度s的层次,以达到颜色增强的目的,从而达到给观察者更好的视觉感受。
发明内容
本发明的目的在于提供一种增强图像颜色的方法,能够在不改变色彩亮度和色调的情况下,增加饱和度的层次,在增强色彩感觉的同时使得物体色彩变得清晰,达到增强图像色彩鲜艳和色彩层次的目的。
为达上述目的,本发明提供一种增强图像颜色的方法,其包含以下2种
技术方案:
一种使用直方图均衡方法增强图像颜色的方法,其包含以下步骤:
步骤a)、输入RGB彩色数字图像,将RGB格式的图像像素转换为HSV空间颜色值(h,s,v),如下定义和计算某个像素的饱和亮度值:
SV=v×s;
依次计算图像中各个像素的饱和亮度值SV;
步骤b)、对图像所有像素的饱和亮度值SV进行直方图统计:定义直方图数组为H[x],x∈{Xi|i=0,1,…,N-1},其中X0,X1,…,Xi,…,XN-1顺序为N级离散化的饱和亮度值,而且X0对应饱和亮度值域的极小值,XN-1对应饱和亮度值域的极大值;
步骤c)、根据直方图计算累计概率分布函数CDF:CDF[X0]=H[X0]/Num,再循环计算:CDF[Xi]=CDF[Xi-1]+H[Xi]/Num,其中,Num为图像像素总数;
步骤d)、将累计概率分布函数CDF直接作为映射表,对饱和亮度值SV进行映射得到SV’:SV’=(1-K)×SV+K×CDF[SV]×XN-1,其中K为预定参数,且0≤K≤1;
步骤e)、计算图像各个像素的新的饱和度s’:s’=SV’/v;
步骤f)、将得到的新的HSV空间颜色值(h,s’,v)转换到RGB空间,还原彩色图像。
所述的步骤a)中,图像的各个像素的饱和亮度值SV也可以如下定义得到相同的结果:SV=max(R,G,B)-min(R,G,B)。
所述的步骤d)中,参数K决定图像颜色改变的大小,在图像画面改变的同时,一般要求控制图像色温不发生较大的变化,即靠近白色的图像色彩改变不大,故对参数K进行优化设计:K=c×(1-p)×p,其中,c为预设的正实数,p=BA/XN-1,BA为输入图像的平均亮度。
所述的步骤d)中,对参数K进行限制:K=min[c×(1-p)×p,Kmax],其中,Kmax为预设参数,这样可以避免出现较大的K值。
所述的步骤a)中,如果输入的图像是YCbCr格式信号,则先将其转换为RGB格式信号,在步骤f)中,将新得到的RGB格式信号的图像再转换为YCbCr格式;如果步骤a)中输入的图像是YUV格式信号,则先对图像进行离散化后,再转换得到RGB格式信号,则在步骤f)中,将新得到的RGB格式信号的图像再转换为YUV格式信号。
在本方法中,使用帧/场间预测技术,将当前帧/场的直方图的特征值应用到下一帧/场的低频信息的颜色增强,如此可节省存储空间。
一种使用截断直方图均衡方法增强颜色图像的方法,其包含以下步骤:
步骤a)、输入RGB彩色数字图像,将RGB格式的图像像素转换为HSV空间颜色值(h,s,v),依次计算图像中各个像素的饱和亮度值SV:SV=v×s;
步骤b)、初始化截断直方图存储数组CH[x],x∈{Xi|i=0,1,…,N-1},其中X0,X1,…,Xi,…,XN-1顺序为N级离散化的饱和亮度值,而且X0对应饱和亮度值域的极小值,XN-1对应饱和亮度值域的极大值;且初始化截断像数和CN=0;
步骤c)、按顺序遍历图像,读入图像当前像素的亮度值;
步骤d)、判断该像素的饱和亮度值所对应的截断直方图存储数组元值是否小于预定的参数CountMax,如果是,则执行步骤e),如果否,则执行步骤f);
步骤e)、将该像素的饱和亮度值对应的截断直方图存储数组元值加1,再执行步骤g);
步骤f)、将截断像数和CN的值加1;
步骤g)、判断是否已经对图像所有的像素统计完毕,如果是,则执行步骤h),如果否,则返回步骤c),循环执行步骤c)~步骤g);
步骤h)、计算截断直方图的CDF数组,定义为CCDF[x],x∈{Xi|i=0,1,…,N-1},其中X0,X1,…,Xi,…,XN-1顺序为N级离散化的饱和亮度值,而且X0对应饱和亮度值域的极小值,XN-1对应饱和亮度值域的极大值;
定义数组CCH[x],x∈{Xi|i=0,1,…,N-1},其中X0,X1,…,Xi,…,XN-1顺序为N级离散化的饱和亮度值,而且X0对应饱和亮度值域的极小值,XN-1对应饱和亮度值域的极大值;计算CCH[X0]=CH[X0]+CN/N;
再循环计算:CCH[Xi]=CCH[Xi-1]+CH[Xi]+CN/N,i=1,2,…,N-1;
最后循环计算:CCDF[Xi]=CCH[Xi]/Num,i=0,1,…,N-1,其中,Num为该图像的像素总数;
步骤i)、计算动态的映射表:G[Xi]=(1-K)×Xi+K×CCDF[Xi]×XN-1;i=0,1,…,N-1,其中,K为预定参数,且0≤K≤1;
步骤j)、对饱和亮度值SV进行映射得到SV’:SV’=G[SV];
计算图像各个像素的新的饱和度s’:s’=SV’/v;
将得到的新的HSV空间颜色值(h,s’,v)转换到RGB空间,还原彩色图像。
所述的步骤a)中,图像的各个像素的饱和亮度值SV也可以如下定义得到相同的结果:SV=max(R,G,B)-min(R,G,B)。
所述的步骤c)中,可按行、列、倒行、倒列等顺序遍历到图像的所有像素。
所述的步骤i)中,参数K决定图像颜色改变的大小,在图像画面改变的同时,一般要求控制图像色温不发生较大的变化,即靠近白色的图像色彩改变不大,故对参数K进行优化设计:K=c×(1-p)×p,其中,c为预设的正实数,p=BA/XN-1,BA为输入图像的平均饱和亮度值。
所述的步骤i)中,对参数K进行限制:K=min[c×(1-p)×p,Kmax],其中,Kmax为预设参数,这样可以避免出现较大的K值。
所述的步骤a)中,如果输入的图像是YCbCr格式信号,则先将其转换为RGB格式信号,在步骤j)中,将新得到的RGB格式信号的图像再转换为YCbCr格式;如果步骤a)中输入的图像是YUV格式信号,则先对图像进行离散化后,再转换得到RGB格式信号,则在步骤j)中,将新得到的RGB格式信号的图像再转换为YUV格式信号。
在本方法中,使用帧/场间预测技术,将当前帧/场的直方图的特征值应用到下一帧/场的低频信息的颜色增强,如此可节省存储空间。
本发明的技术特征是分解并改变了传统直方图均衡方法。传统的直方图均衡方法是对同一信号进行统计计算和映射,本方法是对输入亮度信号进行直接的统计和计算,但使用计算结果对低频信号进行映射。这样做可以大大节省中间的图像信息存储空间。通过本方法得到的增强图像与传统直方图增强图像不完全一样,但也有类似的增强效果。
附图说明
图1为本发明提供的使用直方图均衡方法增强图像颜色的方法的流程图;
图2为本发明提供的使用截断直方图均衡方法增强颜色图像的方法的流程图。
具体实施方式
下面结合图1~图2说明本发明的具体实施例,以使进一步了解本发明的发明内容:
如图1所示,为使用直方图均衡方法增强图像颜色的方法的流程图,其包含以下步骤:
步骤a)、输入RGB彩色数字图像,将RGB格式的图像像素转换为HSV空间颜色值(h,s,v),依次计算图像中各个像素的饱和亮度值SV:SV=v×s;
步骤b)、对图像所有像素的饱和亮度值SV进行直方图统计:定义直方图数组为H[x],x∈{Xi|i=0,1,…,255},Xi=i/255;
步骤c)、根据直方图计算累计概率分布函数CDF:CDF[X0]=H[X0]/Num,再循环计算:CDF[Xi]=CDF[Xi-1]+H[X0]/Num,其中,Num为图像像素总数;
步骤d)、将累计概率分布函数CDF直接作为映射表,对饱和亮度值SV进行映射得到SV’:SV’=(1-K)×SV+K×CDF[SV],其中K为预定参数,且0≤K≤1;
步骤e)、计算图像各个像素的新的饱和度s’:s’=SV’/v;
步骤f)、将得到的新的HSV空间颜色值(h,s’,v)转换到RGB空间,还原彩色图像。
所述的步骤a)中,图像的各个像素的饱和亮度值SV也可以如下定义得到相同的结果:SV=max(R,G,B)-min(R,G,B)。
所述的步骤d)中,参数K决定图像颜色改变的大小,在图像画面改变的同时,一般要求控制图像色温不发生较大的变化,即靠近白色的图像色彩改变不大,故对参数K进行优化设计:K=c×(1-p)×p,其中,c为预设的正实数,p=BA/XN-1,BA为输入图像的平均亮度。
所述的步骤d)中,对参数K进行限制:K=min[c×(1-p)×p,Kmax],其中,Kmax为预设参数,这样可以避免出现较大的K值。
所述的步骤a)中,如果输入的图像是YCbCr格式信号,则先将其转换为RGB格式信号,在步骤f)中,将新得到的RGB格式信号的图像再转换为YCbCr格式;如果步骤a)中输入的图像是YUV格式信号,则先对图像进行离散化后,再转换得到RGB格式信号,则在步骤f)中,将新得到的RGB格式信号的图像再转换为YUV格式信号。
在本方法中,使用帧/场间预测技术,将当前帧/场的直方图的特征值应用到下一帧/场的低频信息的颜色增强,如此可节省存储空间。
如图2所示,为本发明提供的使用截断直方图均衡方法增强颜色图像的方法的流程图,其包含以下步骤:
步骤a)、输入RGB彩色数字图像,将RGB格式的图像像素转换为HSV空间颜色值(h,s,v),依次计算图像中各个像素的饱和亮度值SV:SV=v×s;
步骤b)、初始化截断直方图存储数组CH[x],x∈{Xi|i=0,1,…,255},Xi=i/255;且初始化截断像数和CN=0;
步骤c)、按顺序遍历图像,读入图像当前像素的亮度值;
步骤d)、判断该像素的饱和亮度值所对应的截断直方图存储数组元值是否小于预定的参数CountMax,如果是,则执行步骤e),如果否,则执行步骤f);
步骤e)、将该像素的饱和亮度值对应的截断直方图存储数组元值加1,再执行步骤g);
步骤f)、将截断像数和CN的值加1;
步骤g)、判断是否已经对图像所有的像素统计完毕,如果是,则执行步骤h),如果否,则返回步骤c),循环执行步骤c)~步骤g);
步骤h)、计算截断直方图的CDF数组,定义为CCDF[x],x∈{Xi|i=0,1,…,255},Xi=i/255;
定义数组CCH[x],x∈{Xi|i=0,1,…,255},Xi=i/255;计算CCH[X0]=CH[X0]+CN/256;
再循环计算:CCH[Xi]=CCH[Xi-1]+CH[Xi]+CN/256,i=1,2,…,255;
最后循环计算:CCDF[Xi]=CCH[Xi]/Num,i=0,1,…,255,其中,Num为该图像的像素总数;
步骤i)、计算动态的映射表:G[Xi]=(1-K)×Xi+K×CCDF[Xi]×XN-1;i=0,1,…,255,其中,K为预定参数,且0≤K≤1;
步骤j)、对饱和亮度值SV进行映射得到SV’:SV’G[SV];
计算图像各个像素的新的饱和度s’:s’=SV’/v;
将得到的新的HSV空间颜色值(h,s’,v)转换到RGB空间,还原彩色图像。
所述的步骤a)中,图像的各个像素的饱和亮度值SV也可以如下定义得到相同的结果:SV=max(R,G,B)-min(R,G,B)。
所述的步骤c)中,可按行、列、倒行、倒列等顺序遍历到图像的所有像素。
所述的步骤i)中,参数K决定图像颜色改变的大小,在图像画面改变的同时,一般要求控制图像色温不发生较大的变化,即靠近白色的图像色彩改变不大,故对参数K进行优化设计:K=c×(1-p)×p,其中,c为预设的正实数,p=BA/XN-1,BA为输入图像的平均亮度。
所述的步骤i)中,对参数K进行限制:K=min[c×(1-p)×p,Kmax],其中,Kmax为预设参数,这样可以避免出现较大的K值。
所述的步骤a)中,如果输入的图像是YCbCr格式信号,则先将其转换为RGB格式信号,在步骤j)中,将新得到的RGB格式信号的图像再转换为YCbCr格式;如果步骤a)中输入的图像是YUV格式信号,则先对图像进行离散化后,再转换得到RGB格式信号,则在步骤j)中,将新得到的RGB格式信号的图像再转换为YUV格式信号。
在本方法中,使用帧/场间预测技术,将当前帧/场的直方图的特征值应用到下一帧/场的低频信息的颜色增强,如此可节省存储空间。
本发明提供的增强图像颜色的方法,能够在不改变图像色彩亮度和色调的情况下,增加饱和度层次,在增强色彩感觉的同时使得物体色彩变得清晰,达到增强图像色彩鲜艳和色彩层次的目的。