一种白平衡调整方法
【技术领域】
[0001 ] 一种白平衡调整方法,用于提高白平衡调整方法中白点统计的稳健性和准确率,属于白平衡调整方法技术领域。
【背景技术】
[0002]白平衡调整是彩色成像、彩色显示等设备的重要组成部分。白平衡调整是指采用数字信号处理手段,根据图像数据,自适应地校正由于图像传感器获取的图像色温偏差,或者液晶显示器的色温偏差,使其与实际的场景色温尽可能一致。
[0003]白平衡调整包括白点的选择与彩色分量统计、通道增益获取和偏色校正等操作。而白点的选择与彩色分量的统计与通道增益获取是白平衡调整方法的核心。基于RGB空间的白点选择方法,当R、G、B三个分量的差值同时小于每个门限时,即认为是白点,但实际中,白点不仅与R、G、B三个分量的差值有关,还与图像像素的亮度值有关。基于YCbCr空间的白点选择方法中,Cb、Cr分量的门限没有根据亮度分量Y及其显示的色彩进行自适应变化,从而导致选择的白点误差较大,容易出现漏选、错选等问题。
【发明内容】
[0004]本发明针对现有技术中的不足之处提供了一种白平衡调整方法,解决选择的白点误差较大,容易出现漏选、错选等问题,提高了白平衡调整方法中白点统计的稳健性和准确率。
[0005]一种白平衡调整方法,其特征在于:
[0006](I)获取Bayer模板RGB插值图像,将RGB图像转换至YCbCb图像;
[0007](2)根据亮度分量Y,在YCbCr空间中,将YCbCr图像分割为多个亮度等级区,统计Y、Cb、Cr 分量;
[0008](3)根据统计Y、Cb、Cr分量,统计每个亮度等级区候选白点的统计值和落入在该区的候选白点数目;
[0009](4)采用双门限法,从最高亮度等级区开始,选择出白点;
[0010](5)将选出的白点,用于获取YCbCr的平均数值;
[0011 ] (6)将得到的YCbCr平均数值转换为RGB空间的R、G、B平均值;
[0012](7)通过R、G、B平均值,得到白平衡调整需要的通道增益,实现彩色图像的白平衡处理。
[0013]进一步,所述步骤(2)中,将YCbCr图像分割为多个亮度等级区的步骤如下:
[0014](21)构建一个256x256的二维矩阵P,矩阵中每个像素的取值相同,其取值范围为O至255的整数,构建一个256x256的二维矩阵Q,矩阵中每列的值由O至255张成,构建一个256x256的二维矩阵R,矩阵中每行的值由O至255张成,P = (Pij),Pij= k,其中k e [O255],Q = {qij},qij= j,R = {r ,!Tij= i,1、j e [0 255];
[0015](22)将P、Q和R三个矩阵构成一个三分量的YCbCr空间的彩色矩阵[P、Q、R],P对应于Y,Q对应于Cb,R对应于Cr,改变矩阵P的数值k,得到Y在不同亮度分量时的彩色图像;
[0016](23)标记P分量中k取不同数值时,图像中呈现的灰色区域,记录该区域的横坐标xk和纵坐标I k,统计该坐标集合的元素个数,即满足条件的灰色像素个数;
[0017](24)根据不同亮度等级获取的空间坐标区域近似相同,对不同亮度等级进行分区合并,得到合适的亮度等级区数量N,N取值为I至255。
[0018]进一步,所述步骤(23)中,灰色区域中像素的横坐标Xk和纵坐标y k满足如下公式:
[0019]当Y e [O 50],横坐标Xk和纵坐标y k是由以下直线方程所围城的区域:
[0020]yk= 0.18XYX (xk-2.5ΧΥ-31)/(75_1.3ΧΥ)+148,
[0021]yk= (66-0.34XY) X (xk_151)/(0.2ΧΥ-45)+0.52XY+82,
[0022]yk= (32+0.18XY) X (xk_106)/(0.2XY+36)+108,
[0023]yk= (32+0.18XY) X (xk_151)/(0.2XY_9)+108 ;
[0024]当Y e [51 202],横坐标xk和纵坐标y k是由以下直线方程所围城的区域:
[0025]Xk= 108,Xk= 148,
[0026]yk=-3.IX (xk_116)+117,
[0027]yk= -3.56 X (x k~142) +140 ;
[0028]当Y e [203 255],横坐标xk和纵坐标y k是由以下直线方程所围城的区域:
[0029]yk= (179-0.19XY) X (xk-106)/(0.2ΧΥ-5)+0.37XY+75,
[0030]yk= (5-0.18XY) X (xk-494-l.3ΧΥ)/(393-1.5XY)+108,
[0031]yk= (4-0.17 XY) X (xk_106)/(49-0.19 X Y)+148,
[0032]yk= (44-0.17 XY) X (xk_151)/(4-0.19 XY)+108,
[0033]其中,xke[0 255], yke [0 255]。
[0034]进一步,所述步骤(3)中,统计每个亮度等级区候选白点的统计值和落入在该区的候选白点数目的公式如下:
[0035]Ycum(n) = Ysum(I)+Ysum(2) + …+Ysum(η),
[0036]Cbcum(n) = Cbsum(I)+Cbsum(2) + …+Cbsum(η),
[0037]Crcum(η) = Crsum(I) +Crsum(2) +...+Crsum(η),
[0038]Ncum(η) = Nsum(I)+Nsum(2) + …+Nsum(η),
[0039]其中,Ysum(η)、Cbsum(η)和Crsum(η)为分区累计统计值,Nsum(η)为落入在该区的候选累计白点数目,Ysum(n)、Cbsum(η)和Crsum(η)分别为统计Y、Cb、Cr分量,Nsum(η)为白点数目,n e [I N],N取值为I至255。
[0040]进一步,所述步骤(4)中,采用双门限法,从最高亮度等级区开始,选择出白点的步骤为:
[0041](41)从第一个等级η = I开始,判断Ncum (η)是否大于门限Thmax (η),如果是,则选择第一个等级的候选白点,否则,η+1 ;
[0042](42)判断η+1级Ncum (η+1)是否大于门限Thmax (η),如果否,贝丨」η+1,继续判断,直至遍历Ncum ;如果是,则判断第η级的Ncum(η)是否大于门限Thmin(η),如果是,则选择等级η的候选白点集合,否则选择等级η+1的候选白点集合;
[0043](43)遍历完Ncum后,仍然没有满足条件的候选白点集合,则当前图像中无满足设定的白点条件像素集合,图像不做白平衡调整。
[0044]进一步,所述步骤(5)中,将选出的白点,用于获取YCbCr的平均数值的公式如下:
[0045]如果满足双门限条件的等级数为n,则得到的候选白点YCbCr三分量的平均值分别为:
[0046]Ymean = Ycum (n) /Ncum (η),
[0047]Cbmean = Cbcum (n) /Ncum (η),
[0048]Crmean = Crcum (η) /Ncum (η),
[0049]如果没有满足双门限条件的等级数,则YCbCr三分量的平均值设定为Ymean =245,Cbmean = 128,Crmean = 128。
[0050]进一步,所述步骤(7)中,通过R、G、B平均值,得到白平衡调整需要的通道增益的公式如下:
[0051]Rgain = Gmean/Rmean,
[0052]Ggain = Gmean/Gmean,
[0053]Bgain = Gmean/Bmean,
[0054]其中,Rmean, Gmean, Bmean分别为转换为RGB空间的R、G、B的平均值。
[0055]与现有技术相比,本发明的优点在于:
[0056]一、白点统计过程中,综合考虑了图像色彩与图像亮度变化关系,减少了白点选择误差大、容易出现漏选、错选等问题;
[0057]二、基于该分级统计方法,提高了候选白点集合的选择灵活性;提高了对图像的色彩通道增益控制灵活性;
[0058]三、基于该分级统计方法,提高了白平衡调整方法中白点统计的稳健性和准确率。
【附图说明】
[0059]图1是白平衡调整方法流程图;
[0060]图2是用于实施例1的彩条,图像宽度为1920,高度为1080,水平方向平均由八个颜色条带构成,垂直方向在同一个颜色条带内,色彩保持不变,但亮度从上往下逐渐降低,由八个灰度变化构成;
[0061]图3是用于实施例2的Lena彩色图像,图像宽度为512,高度为512。
【具体实施方式】
[0062]下面结合附图和实施例对本发明作进一步的说明。
[0063]实施例1
[0064](I)获取如图2所示的彩色条纹图像,图像宽度为1920,高度为1080,水平方向平均由八个颜色条带构成,垂直方向在同一个颜色条带内,色彩保持不变,但亮度从上往下逐渐降低,由八个灰度变化构成,八个彩条的颜色从左往右分别为白色[250、250、250]、蓝色[0、0、250]、绿色[0、250、0]、红色[250、0、0]、浅蓝色[0、250、250]、黑色[0、0、0]、玫瑰红[250、0、25