发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种对图像进行自动白平衡处理的方法和装置,从而可以不依赖于图像中的标准白色点,对图像进行自动白平衡调整处理。
本发明的目的是通过以下技术方案实现的:
一种对图像进行自动白平衡处理的方法,包括步骤:
A、将Y,Cr,Cb色彩空间下的标准灰色测试卡上的标准灰色值确定为所述Y,Cr,Cb色彩空间下的颜色参考点,通过基于离散小波变换的多尺度聚类分析方法确定图像中的颜色代表点,所述Y,Cr,Cb色彩空间中的Y指亮度分量,Cb指蓝色色度分量,Cr指红色色度分量;
B、分别获得所述Y和CbCr平面的交点与所述颜色代表点在YCbCr平面的位置坐标之间的向量,同不同色温下的所述颜色参考点在YCbCr平面的位置坐标与所述Y和CbCr平面的交点之间的向量之间的不同的夹角信息,将所有夹角中最小夹角对应的色温确定为所述颜色代表点对应的特定色温;
将各个所述颜色代表点对应的特定色温信息进行统计,将统计结果最多的特定色温确定为当前图像的色温,根据该色温对图像进行白平衡调整处理。
所述通过基于离散小波变换的多尺度聚类分析方法确定图像中的颜色代表点,具体包括:
A1、对图像数据进行离散的一维小波变换,得到不同尺度的三维颜色直方图;检测所述三维颜色直方图中的位于低层次分解高通子带中由正到负的零交叉点,所述颜色代表点对应的三维颜色直方图的峰值即位于该零交叉点处,从而通过检测所述零交叉点将颜色代表点对应的三维颜色直方图的峰值检测出来;
A2、对所述颜色代表点对应的三维颜色直方图的峰值进行调整,将该峰值位置映射到高尺度水平,判断该峰值是否达到设定的最低水平,如果不是,则继续执行上述离散小波变换分解、峰值检测和峰值调整操作;否则,对所述颜色代表点对应的三维颜色直方图的峰值进行增强,在一定范围内进行局部搜索,对三维颜色直方图进行调整更新,从不同水平得到的峰值依据分解水平不同的权重结合起来,最后,从更新后的三维颜色直方图中得到设定数量个不同的极大值,将所述极大值作为所述颜色代表点。
所述的根据该色温对图像进行白平衡调整处理,具体包括:
当所述获得的图像的色温为高色温时,则减少所述图像中的蓝色分量的统计平均值,增加所述图像中的红色分量的统计平均值;
当所述获得的图像的色温为低色温时,则增加所述图像中的蓝色分量的统计平均值,减少所述图像中的红色分量的统计平均值。
一种对图像进行自动白平衡处理的装置,包括:
参考点确定模块:用于将Y,Cr,Cb色彩空间下的标准灰色测试卡上的标准灰色值确定为所述Y,Cr,Cb色彩空间下的颜色参考点,所述Y,Cr,Cb色彩空间中的Y指亮度分量,Cb指蓝色色度分量,Cr指红色色度分量;
代表点确定模块:用于通过基于离散小波变换的多尺度聚类分析方法识别出图像中的颜色代表点;
色温确定模块:用于将所述颜色代表点和颜色参考点在所述Y,Cr,Cb色彩空间中的位置信息进行比较,根据比较结果确定所述图像的色温;
颜色分量调整模块:用于根据色温确定模块确定的所述图像的色温来调整图像中各颜色分量的统计平均值,对图像进行白平衡调整处理;
所述色温确定模块具体包括:
对比处理模块:用于分别获得所述Y和CbCr平面的交点与所述颜色代表点在YCbCr平面的位置坐标之间的向量,同不同色温下的所述颜色参考点在YCbCr平面的位置坐标与所述Y和CbCr平面的交点之间的向量之间的不同的夹角信息,将所有夹角中最小夹角对应的色温确定为所述颜色代表点对应的特定色温;
投票处理模块:用于将对比处理模块获得的各个所述颜色代表点对应的特定色温信息进行统计,将统计结果最多的特定色温确定为所述图像的色温。
所述代表点确定模块具体包括:
小波变换模块:用于对图像数据进行离散的一维小波变换,得到不同尺度的三维颜色直方图;
多尺度聚类分析模块:用于检测所述三维颜色直方图中的位于低层次分解高通子带中由正到负的零交叉点,所述颜色代表点对应的三维颜色直方图的峰值即位于该零交叉点处,从而通过检测所述零交叉点将颜色代表点对应的三维颜色直方图的峰值检测出来;
还用于对所述颜色代表点对应的三维颜色直方图的峰值进行调整,将该峰值位置映射到高尺度水平,判断该峰值是否达到设定的最低水平,如果不是,则继续执行上述离散小波变换分解、峰值检测和峰值调整操作;否则,对所述颜色代表点对应的三维颜色直方图的峰值进行增强,在一定范围内进行局部搜索,对三维颜色直方图进行调整更新,从不同水平得到的峰值依据分解水平不同的权重结合起来,最后,从更新后的三维颜色直方图中得到设定数量个不同的极大值,将所述极大值作为所述颜色代表点。
所述对图像进行白平衡调整处理具体包括:
当所述获得的图像的色温为高色温时,则减少所述图像中的蓝色分量的统计平均值,增加所述图像中的红色分量的统计平均值;
当所述获得的图像的色温为低色温时,则增加所述图像中的蓝色分量的统计平均值,减少所述图像中的红色分量的统计平均值。
由上述本发明提供的技术方案可以看出,本发明通过先确定颜色参考点和颜色代表点,根据颜色参考点和颜色代表点之间在CbCr平面上的对比关系确定当前图像的色温,根据该色温对图像进行白平衡调整处理。从而可以不依赖于图像中的标准白色点,对图像进行自动白平衡调整处理,用户使用起来方便灵活。解决了当图像中没有标准白色点时,无法对图像进行自动白平衡调整处理的问题。
具体实施方式
本发明提供了一种对图像进行自动白平衡处理的方法和装置。
下面结合附图来详细描述本发明,本发明所述方法的实施例的处理流程如图1所示,包括如下步骤:
步骤1-1、确定颜色参考点在不同色温下的Y,Cr,Cb值。
在实际应用中,有四种较为常见的光源,即荧光灯、白炽灯、晴天、阴天,分别对应4个不同的色温,即:4200、2700、5500和7500。
本发明首先根据灰色的定义:
R=G=B (1)
Cr=Cb=0 (2)
在Y,Cr,Cb色彩空间,给出灰度测试卡上6个标准灰度值在上述4个不同色温下面的Y,Cr,Cb值,该6个标准灰度值即构成6个颜色参考点,该6个颜色参考点在Y、Cb、Cr色彩空间中的颜色值Cb、Cr的计算公式为:
Cb=-0.16875R-0.33126G+0.5B (3)
Cr=0.5R-0.41859G-0.08131B (4)
步骤1-2、通过基于小波变换的多尺度聚类分析方法识别出图像中的颜色代表点。
因为构成一系列图像数据的尺度空间通过低通滤波能达到由粗到精的分辨率水平,随着尺度空间的增大,原始图像数据中的细节部分逐渐消失,同时图像在滤波过程中不会产生新的结构信息。
本发明提出使用基于离散小波变换的多尺度聚类分析方法识别出图像中的颜色代表点。该多尺度聚类分析方法的实施例的处理流程如图2所示,具体处理过程如下:
首先通过一系列的一维小波分解,得到不同尺度的三维颜色直方图f[x,y,z],f[x,y,z]的计算公式如下:
j=1,2,Λ,J (5)
其中,M表示输入的点的个数;J表示小波金字塔结构中的小波分解的最高级数,并由式J=log2M确定。
在上述公式(5)中,
W
ψ[j,k]由下述公式(6)、(7)确定:
其中表示小波分解中低通滤波器,hψ[-x]表示小波分解中的高通滤波器。
基于上述离散小波变换分解,颜色代表点对应的直方图的峰值位于低层次分解高通子带中由正到负的零交叉点处。于是,通过检测零交叉点,将颜色代表点对应的直方图的峰值检测出来。然后,对该颜色代表点对应的直方图的峰值进行调整,将该峰值位置映射到高尺度水平,判断该峰值是否达到设定的最低水平,如果不是,则继续进行上述离散小波变换分解、峰值检测和峰值调整操作;否则,对颜色代表点对应的直方图的峰值进行增强,在一定范围内进行局部搜索,对直方图进行调整更新,从不同水平得到的峰值依据分解水平不同的权重结合起来。最后,从更新后的直方图中得到N个不同的极大值,这些极大值作为颜色代表点,N可以通过低水平分解的峰值个数自适应得到。
步骤1-3、根据每个颜色参考点与不同色温下所有颜色代表点的对比向量关系,确定每个颜色参考点对应的色温,通过投票准则将投票最多的色温确定为当前图像的色温。
在确定了上述颜色代表点和颜色参考点后,将每一个颜色代表点的Cb、Cr值与所有已知颜色参考点在不同色温下的Cb、Cr值一一比较,一对多的比较结果构成一个向量,每个向量都表示一个颜色代表点与所有已知颜色参考点之间的投票关系。
上述颜色代表点和颜色参考点在CbCr平面进行比较的示意图如图3所示。其中, 表示亮度Y与CbCr平面的交点,表示颜色参考点的颜色位置,表示颜色代表点的颜色位置。
同一向量内的颜色代表点与不同色温下的同一颜色参考点进行比较的示意图如图4所示。其中,○表示颜色参考点,□表示颜色代表点。图4中圆形与正方形所代表的线段之间的夹角中最小角度对应的圆形与正方形,即为颜色代表点和对应的特定色温下的颜色参考点,该特定色温即为该颜色代表点对应的色温,将该色温的投票数加1。如果图4中所示的圆形与正方形所代表的线段之间的夹角中没有最小角度,则不对任何特定色温投票。
上述确定每个颜色代表点对应的色温的过程可以用如下的公式(8)来表示。
其中,θl(i)表示第L亮度等级映射到Cb Cr平面上的第i个颜色代表点与最近颜色参考点之间的角度。Li表示当θl(i)取最小值时的向量中对应的第i个参考点。
在所有颜色代表点与颜色参考点进行了比较,进行了上述投票操作后,将投票得数最多的色温确定为当前图像场景的色温。
例如,下述表1表示所有颜色代表点在不同色温下的投票数:
表1:
色温 |
投票数 |
2700 |
1 |
4200 |
3 |
5500 |
0 |
7500 |
1 |
由表1可知,在色温为4200时的投票数最多,则可判断当前图像场景的色温为4200。
步骤1-4、根据获得的当前图像场景的色温,对图像进行自动白平衡调整处理。
在获得了当前图像场景的色温后,即可依据获得的色温对图像做白平衡调整处理。
如果当前图像场景是高色温,比如为:5500、7500。则调整b使整帧图像中的蓝色分量的统计平均值降低,调整r使整帧图像中的红色分量的统计平均值增加,从而使图像中的白色物体不偏重蓝色,仍显示成白色。
如果当前图像场景是低色温,比如为:2700。则调整b使整帧图像中的蓝色分量的统计平均值增加,调整r使整帧图像中的红色分量的统计平均值减少,从而使图像中的白色物体不偏重红色,仍显示成白色。
本发明所述装置的实施例的结构如图5所示,包括如下模块:
参考点确定模块:用于根据标准灰色测试卡上的标准灰色值在不同色温下的Y,Cr,Cb值,确定相应的颜色参考点。
代表点确定模块:用于通过基于离散小波变换的多尺度聚类分析方法识别出图像中的颜色代表点。包括:小波变换模块和多尺度聚类分析模块。
其中,小波变换模块:用于对图像数据进行离散的一维小波变换,得到不同峰值的三维颜色直方图;
其中,多尺度聚类分析模块:用于通过检测零交叉点,从小波变换模块获得的颜色直方图检测出颜色代表点对应的直方图的峰值,对该峰值进行调整,识别出图像中的颜色代表点。
色温确定模块:用于通过颜色参考点与颜色代表点在CbCr平面上的位置信息对比关系,确定颜色代表点对应的特定色温,对该特定色温进行统计,将统计信息最多的特定色温确定为当前图像的色温。包括:对比处理模块和投票处理模块。
其中,对比处理模块:用于获得各个颜色代表点在YCbCr平面的位置坐标与亮度Y和CbCr平面的交点之间的向量,同不同色温下的所有颜色参考点在YCbCr平面的位置坐标与亮度Y和CbCr平面的交点之间的向量之间的夹角信息,将所有夹角中最小夹角对应的色温确定为所述颜色代表点对应的特定色温。
其中,投票处理模块:用于根据对比处理模块获得的对比结果,将所述各个所述颜色代表点对应的特定色温信息进行统计,将统计结果最多的特定色温确定为当前图像的色温。
颜色分量调整模块:用于根据色温确定模块确定的当前图像场景的色温来调整图像中各颜色分量的统计平均值,对图像进行白平衡调整处理。
如果当前图像场景是高色温,则减少整帧图像中的蓝色分量的统计平均值降低,增加整帧图像中的红色分量的统计平均值,从而使图像中的白色物体不偏重蓝色,仍显示成白色。
如果当前图像场景是低色温,则增加整帧图像中的蓝色分量的统计平均值,减少整帧图像中的红色分量的统计平均值,从而使图像中的白色物体不偏重红色,仍显示成白色。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。