专利名称:色彩校正中颜色矩阵的实现方法
技术领域:
本发明涉及图像处理领域,尤其涉及,图像复原技术中用于摄像装置的色彩校正方法,该方法中包含有颜色矩阵(color matrix)。
背景技术:
图像复原是图像处理的一个重要部分,它的主要目的是改善给定的图像质量,当给定了一副退化的或者受到噪声污染了的图像后,利用退化现象的某种先验知识来重建或恢复原有图像是图像复原处理的主要过程。在现有技术中,用摄像器材拍摄下来的影象的色彩往往不正,即,从光学传感器中出来的图像颜色有相当的色偏,需要通过一定的方法来校正。通常用的校正办法是拍摄一张如附图1所示的颜色校验片(color checker)--标准色板的图片,计算出所拍摄图像中每一块色块的平均值,与标准色板中相应色块的标准值做比较,计算出颜色矩阵(color matrix);然后在每一帧的图像输出前做如下式的计算,即可达到色彩校正的目的。
RGB=color matrix*rgb]]>其中,R、G、B为标准色板中的标准值,r、g、b为拍摄下来图像对应的值。
从这里可知,颜色矩阵(color matrix)的良好实现是颜色校正中的关键,现有方法一般是用最小二乘法直接计算出颜色矩阵,如下
求colormatrix|a11a12a13||a21a22a23||a31a32a33|]]>使得下式中三个值最小(R-a11*r-a12*g-a13*b)^2,(G-a21*r-a22*g-a23*b)^2,(B-a31*r-a32*g-a33*b)^2。
但使用这种方法计算出的颜色矩阵进行颜色校正的效果并不好,在有的时候还可能会加重图像的噪声的现象。
发明内容
有鉴于此,本发明的主要目的在于提供一种用于摄像装置的色彩校正中颜色矩阵的实现方法,使得颜色校正更理想和趋于准确。
为达到上述目的,本发明的技术方案具体是这样实现的一种颜色矩阵的实现方法,用在通过下式来实现的色彩校正中RGB=color matrix*rgb]]>其中,RGB为标准色板中的标准值,rgb为所拍摄图像对应的值;颜色矩阵(color matrix)如下式所表示|a11a12a13||a21a22a23||a31a32a33|]]>包括使得(R-a11*r-a12*g-a13*b)^2,(G-a21*r-a22*g-a23*b)^2,以及(B-a31*r-a32*g-a33*b)^2三个值最小的步骤,其特征在于,还包括步骤一、使得a11+a12+a13=1,a21+a22+a23=1,a31+a32+a33=1的手段;步骤二、使得a11,a22,a33尽量接近1的手段;以及步骤三、使得a12,a13,a21,a23,a31,a32尽量的接近0的手段。
进一步地,色板中每一块的权重可被设置;进一步地,使得(R-a11*r-a12*g-a13*b)^2,(G-a21*r-a22*g-a23*b)^2,以及(B-a31*r-a32*g-a33*b)^2三个值最小的步骤,是通过分别对a11,a22,a33求导并令导数等于0来实现;进一步地,使得(R-a11*r-a12*g-a13*b)^2,(G-a21*r-a22*g-a23*b)^2,以及(B-a31*r-a32*g-a33*b)^2三个值最小的步骤,是通过分别对a11,a22,a33求导并令导数等于预先给的固定值来实现;进一步地,所述固定值的取值范围为[-180000,180000];进一步地,步骤二是通过去掉不满足下列条件的颜色矩阵值来实现的0.5<=a11<=1.5,0.5<=a22<=1.5,0.5<=a33<=1.5;进一步地,步骤三是通过去掉不满足下列条件的颜色矩阵值来实现的-0.5<=a12<=0.5,-0.5<=a23<=0.5,-0.5<=a31<=0.5。
对比现有技术,本发明为了去取现有技术中颜色校正的缺点,在现有方法的基础上增加了对颜色矩阵的值进行约束的步骤,使得校正效果更加理想,达到好的实际效果。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图1为颜色校验片(color checker)示意图。
具体实施例方式
按照发明内容所述本专利的实现思想,下面通过具体的实施例来描述实现的过程和示范。拍摄一张如下图所示的color checker的图片,计算出每一块色块的平均值,与标准值做比较,计算出color matrix。把每一帧的图象在输出前做如下计算。
RGB=color matrix*rgb]]>设RGB为标准的色块值,rgb为拍摄下来的值。
求color matrix|a11a12a13||a21a22a23||a31a32a33|]]>使得下式中三个值最小(R-a11*r-a12*g-a13*b)^2,(G-a21*r-a22*g-a23*b)^2,(B-a31*r-a32*g-a33*b)^2---1并且为了达到好的实际效果,对color matrix中的值的范围做了约束。要求条件1、a11+a12+a13=1a21+a22+a23=1a31+a32+a33=1条件2、a11,a22,a33尽量的接近1条件3、a12,a13,a21,a23,a31,a32尽量的接近0条件4、要可设置色板中每一块的权重,此处用Lambda[24]表示。
要求上式1中的最小值,即分别对a11,a22,a33求导,令导数等于0,即为最小值。
求导得r*R-a11*r*r-a12*r*g-a13*r*b=0g*G-a21*g*r-a22*g*g-a23*g*b=0b*B-a31*b*r-a32*b*g-a33*b*b=0---2此为一个色块的情况,如图1所示,我们拍摄的共有24块,再加上权重的影响,对整个图而言,我们需要计算的等式为∑Lambda[i]*(ri*Ri)-a11*∑Lambda[i]*(ri*ri)-a12*∑Lambda[i]*(ri*gi)-a13*∑Lambda[i]*(ri*bi)=0∑Lambda[i]*(gi*Gi)-a21*∑Lambda[i]*(gi*ri)-a22*∑Lambda[i]*(gi*gi)-a23*∑Lambda[i]*(gi*bi)=0∑Lambda[i]*(bi*Bi)-a31*∑Lambda[i]*(bi*ri)-a32*∑Lambda[i]*(bi*gi)-a33*∑Lambda[i]*(bi*bi)=0 ---3其中i=1,...24。
由于导数的意义在于曲线在这一点的斜率,为了能同时满足所要求的前3个条件,所以1式的值并不一定是最小,可以有一定的误差,因为使1式最小的color matrix不一定满足这3个条件,即2式的值不一定是0,设为e.
所以3式可以写为∑Lambda[i]*(ri*Ri)-a11*∑Lambda[i]*(ri*ri)-a12*∑Lambda[i]*(ri*gi)-a13*∑Lambda[i]*(ri*bi)=e∑Lambda[i]*(gi*Gi)-a21*∑Lambda[i]*(gi*ri)-a22*∑Lambda[i]*(gi*gi)-a23*∑Lambda[i]*(gi*bi)=e∑Lambda[i]*(bi*Bi)-a31*∑Lambda[i]*(bi*ri)-a32*∑Lambda[i]*(bi*gi)-a33*∑Lambda[i]*(bi*bi)=e ---4其中i=1,...24。
再把条件1代入4式,得
a12=(∑Lambda[i]*(ri*(ri-Ri))-a13*∑(Lambda[i]*(ri*(ri-bi)))-e)/∑Lambda[i]*(ri*(ri-gi))a23=(∑Lambda[i]*(gi*(gi-Gi))-a21*∑(Lambda[i]*(gi*(gi-ri)))-e)/∑Lambda[i]*(gi*(gi-bi))a31=(∑Lambda[i]*(bi*(bi-Bi))-a32*∑(Lambda[i]*(bi*(bi-gi)))-e)/∑Lambda[i]*(bi*(bi-ri))分别今e=-180000至180000,间隔10000取值,共37个值。
a13=-0.5至0.5,间隔0.01,共101个值。
a21=-0.5至0.5,间隔0.01,共101个值。
a32=-0.5至0.5,间隔0.01,共101个值。
求出a12,a23,a31。
再根据条件1计算出a11,a22,a33。
至此,共得到37*101=3737组color matrix。
再去掉其中不满足条件2和条件3的color matrix,即去掉不满足条件0.5<=a11<=1.5,0.5<=a22<=1.5,0.5<=a33<=1.5,-0.5<=a12<=0.5,-0.5<=a23<=0.5,-0.5<=a31<=0.5,的color matrix。
把剩下的N(N<=3737)组color matrixA,先取每一组的第一行A[1],做如下计算diff=Expected_R′-A[1]*Acquired′;--5其中Acquired=|r1,g1,b1||r2,g2,b2||...,...,...||r24,g24,b24|]]>Expected_R=|R1||R2||...||R24|]]>得出N组diff,其中diff为1行24列的矩阵。
再把diff中的每一个数乘上对应的权重后,取平方做和,如下diff_sum=0
for(k=0;k<24;k++){d=diff[k]*Lambda[k];diff_sum+=d*d;}对这N组diff分别进行如上计算,就得出N个diff_sum。其中diff_sum是一个实数。找出这N个diff_sum的最小值,设第M1个diff_sum为这N个diff_sum的最小值,则第M1组的color matrixA的第一行A[1]即为我们要求的color matrix的第一行。
同理计算第二行把剩下的N(N<=3737)组color matrixA,先取每一组的第二行A[2],做如下计算diff=Expected_G′-A[2]*Acquired′;---6其中Acquired=|r1,g1,b1||r2,g2,b2||...,...,...,||r24,g24,b24|]]>Expected_G=|G1||G2||...||G24|]]>得出N组diff,其中diff为1行24列的矩阵。
再把diff中的每一个数乘上对应的权重后,取平方做和,如下diff_sum=0;for(k=0;k<24;k++){d=diff[k]*Lambda[k];diff_sum+=d*d;}对这N组diff分别进行如上计算,就得出N个diff_sum。其中diff_sum是一个实数。找出这N个diff_sum的最小值,设第M2个diff_sum为这N个diff_sum的最小值,则第M2组的color matrixA的第二行A[2]即为我们要求的co1or matrix的第二行。
同理计算第三行把剩下的N(N<=3737)组color matrixA,先取每一组的第三行A[3],做如下计算diff=Expected_B′-A[3]*Acquired′; ---7其中Acquired=|r1,g1,b1||r2,g2,b2||...,...,...,||r24,g24,b24|]]>Expected_B|B1||B2||...||B24|]]>得出N组diff,其中diff为1行24列的矩阵。再把diff中的每一个数乘上对应的权重后,取平方做和,如下diff_sum=0for(k=0;k<24;k++){d=diff[k]*Lambda[k];diff_sum+=d*d;}对这N组diff分别进行如上计算,就得出N个diff_sum。其中diff_sum是一个实数。找出这N个diff_sum的最小值,设第M3个diff_sum为这N个diff_sum的最小值,则第M3组的color matrixA的第三行A[3]即为我们要求的color matrix的第三行。
至此,我们计算出了一个完整的矩阵,即为我们需要的colormatrix.
本发明所述方法可被用于诸如摄像头、数码相机、可拍照的手机等数字摄像装置或系统中,应当指出,以上所述仅是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和变化,这些改进和变化也应视为本发明的保护范围。
权利要求
1.一种颜色矩阵的实现方法,用在通过下式来实现的色彩校正中R rG=color matrix * gB b其中,RGB为标准色板中的标准值,rgb为所拍摄图像对应的值;颜色矩阵(color matrix)如下式所表示|a11 a12 a13||a21 a22 a23||a31 a32 a33|包括使得(R-a11*r-a12*g-a13*b)^2,(G-a21*r-a22*g-a23*b)^2,以及(B-a31*r-a32*g-a33*b)^2三个值最小的步骤,其特征在于,还包括步骤一、使得a11+a12+a13=1,a21+a22+a23=1,a31+a32+a33=1的手段;步骤二、使得a11,a22,a33尽量接近1的手段;以及步骤三、使得a12,a13,a21,a23,a31,a32尽量的接近0的手段。
2.根据权利要求1所述的方法,其特征在于,色板中每一块的权重可被设置。
3.根据权利要求1所述的方法,其特征在于,使得(R-a11*r-a12*g-a13*b)^2,(G-a21*r-a22*g-a23*b)^2,以及(B-a31*r-a32*g-a33*b)^2三个值最小的步骤,是通过分别对a11,a22,a33求导并令导数等于0来实现的。
4.根据权利要求1所述的方法,其特征在于,使得(R-a11*r-a12*g-a13*b)^2,(G-a21*r-a22*g-a23*b)^2,以及(B-a31*r-a32*g-a33*b)^2三个值最小的步骤,是通过分别对a11,a22,a33求导并令导数等于预先给的固定值来实现的。
5.根据权利要求4所述的方法,其特征在于,所述固定值的取值范围为[-180000,180000]
6.根据权利要求1所述的方法,其特征在于,步骤二是通过去掉不满足下列条件的颜色矩阵值来实现的0.5<=a11<=1.5,0.5<=a22<=1.5,0.5<=a33<=1.5。
7.根据权利要求1所述的方法,其特征在于,步骤三是通过去掉不满足下列条件的颜色矩阵值来实现的-0.5<=a12<=0.5,-0.5<=a23<=0.5,-0.5<=a31<=0.5。
全文摘要
本发明公开了一种颜色矩阵的实现方法,本发明为了去取现有技术中颜色校正的缺点,在现有方法的基础上增加了对颜色矩阵的值进行约束的步骤,使得校正效果更加理想,达到好的实际效果。
文档编号H04N1/60GK1758704SQ20051011578
公开日2006年4月12日 申请日期2005年11月11日 优先权日2005年11月11日
发明者卢虹, 王浩, 邱嵩 申请人:北京中星微电子有限公司