发明内容
本发明所要解决的技术问题在于提供一种数字图像的曝光校正方法,对曝光不正常的像素进行快速的自动调节,从而使图像具有更好的效果。
为了实现上述目的,本发明提供了一种数字图像的曝光校正方法,包括如下步骤:
将图像转换为灰度图像,计算图像的灰度直方图;
根据该灰度直方图判断图像的曝光是否正常,从而确定曝光阈值(Ratio_Threshold);
提取图像的中心区域,同时计算该中心区域像素的平均亮度值(Iave);
根据该平均亮度值计算目标亮度值Idest,同时根据该平均亮度值(Iave)以及该目标亮度值(Idest)确定调整曲线y=f(x);
根据调整曲线f(x)构建对照表;及
将图像转换为HIS格式,并根据该对照表对亮度信道进行调整。
上述的数字图像的曝光校正方法,其中判断图像的曝光是否正常的步骤,包括如下步骤:
根据图像的直方图确定图像中亮度低阶区域像素个数比率(MinRatio)与亮度高级区域像素个数比率(MaxRatio);
计算低阶区域像素个数比率(MinRatio)与高阶区域像素个数比率(MaxRatio)的比值;及
根据该比值确定曝光是否正常。
上述的数字图像的曝光校正方法,其中:
低阶区域像素个数比率(MinRatio)是通过公式
计算的;
高阶区域像素个数比率(MaxRatio)是通过公式:
计算的。
上述的数字图像的曝光校正方法,其中根据该比值确定曝光是否正常的步骤为:
若MinRatio/MaxRatio>20或者MinRatio/MaxRatio<1/20,则曝光正常;
若1/20≤MinRatio/MaxRatio≤20,则曝光不正常。
上述的数字图像的曝光校正方法,其中根据曝光是否正常,确定曝光阈值的步骤为:
若曝光正常,则曝光阈值为0.1;
若曝光不正常,则曝光阈值为0.3。
上述的数字图像的曝光校正方法,其中所述图像的中心区域为总面积1/2的中间区域。
上述的数字图像的曝光校正方法,其中所述调整曲线y=f(x)为从x=0到x=255单调递增,并且通过点(0,0),(Iave,Idest)以及(255,255)。
上述的数字图像的曝光校正方法,其中所述调整曲线f(x)的表达式为:
当Iave<Idest时,f(x)=k*ln(a*x+1);
当Iave>Idest时,f(x)=k*e(a*x)-k。
上述的数字图像的曝光校正方法,其中所述表达式的系数k与系数a为通过二分法计算的。
上述的数字图像的曝光校正方法,其中还包括将图像转换为RGB格式的步骤。
根据本发明所提的数字图像的曝光校正方法,利用中心区域的亮度值来确定调整曲线,从而处理效果更加理想,并且通过得出的对照表,对HIS格式下的亮度信道I进行调整,在减少处理时间的同时,提高了处理效果。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
具体实施方式
本发明采用曲线调整方式,曲线调整方式就是利用亮度信道的直方图进行曝光校正,请参见图1,该图为本发明所提的数字图像的曝光校正方法总体流程图,说明如下:
步骤110,将图像转换为灰度图像,计算图像的灰度直方图;
步骤120,根据该灰度直方图判断图像的曝光是否正常,从而确定曝光阈值(Ratio_Threshold);
步骤130,提取图像的中心区域,同时计算该中心区域像素的平均亮度值(Iave);
步骤140,根据该平均亮度值计算目标亮度值Idest,同时根据该平均亮度值(Iave)以及该目标亮度值(Idest)确定调整曲线y=f(x);
步骤150,根据调整曲线f(x)构建对照表;及
高阶区域220中的像素个数比率通过以下公式计算:
这里需要满足的条件是MinRatio/(N+1)>MinRatio_Threshold或MaxRatio/(N+1)<Minatio_Threshold,其中设定N=4,低阶区域像素比率阈值MinRatio_Threshold=2.0/255。
步骤160,将图像转换为HIS格式,并根据该对照表对亮度(I)信道进行调整。
灰度直方图(histogram)是灰度级的函数,显示了图像中所有像素的灰度(亮度)的统计分布。它表示图像中具有每种灰度级的像素的个数,反映图像中每种灰度出现的频率。横轴从左至右代表灰度级由小到大,纵轴代表统计得到的每一灰度级处像素的数目。若图像具有L(通常L=256,即8位灰度级)级灰度,则灰度图像f(x,y)的灰度直方图为Hist[I],其中I=0,1,……,255。
确定了灰度直方图后,就可以根据图像的灰度直方图判断图像的曝光是否正常,请参见图2,根据图像中低阶区域210与高阶区域220中的像素个数比MinRatio/MaxRatio来确定图像的曝光是否正常,通常所需曝光率NeedExposure_Ratio=20,如果MinRatio/MaxRatio>NeedExposure_Ratio或MinRatio/MaxRatio<1/NeedExposure_Ratio,则曝光不正常,否则曝光基本正常。其中低阶区域210中的像素个数比率通过以下公式计算:
然后根据图像的曝光是否正常来确定图像的曝光阈值Ratio_Threshold,当图像的曝光不正常时,图像的曝光率阈值Ratio_Threshold=0.3,当图像曝光基本正常时,图像的曝光率阈值Ratio_Threshold=0.1。
然后提取图像的中心区域,请参见图3,所述中心区域300就是位于图像正中,长与宽均为整体图像1/2的区域,即为总面积1/2的中间区域。本发明计算中心区域300中像素的平均亮度Iave,然后根据该平均亮度Iave调整目标亮度值Idest。确定目标亮度值Idest的过程如下:
1、预设目标亮度Idest=150
2、计算两个中间参数Ibase and deltaI
当Iave≤128时,Ibase=Iave
当Iave>128时,Ibase=255-Iave
deltaI=abs(Iave-Idest)
3、更新目标亮度值Idest
令fCurRatio=deltaI/Ibase
如果fCurRatio>Ratio_Threshold,则fCurRatio=Ratio_Threshold此时,
当Iave>Idest时,Idest=Iave+fCurRatio*Ibase
当Iave≤Idest时,Idest=Iave-fCurRatio*Ibase
从而得出目标亮度值Idest的值。
然后构造出曲线y=f(x),使曲线通过以下点:
(0,0),(Iave,Idest)以及(255,255)。
这里曲线y=f(x)在x=0到255单调递增,曲线y=f(x)定义如下:
当Iave<Idest时,f(x)=k*ln(a*x+1)
当Iave>Idest时,f(x)=k*e(a*x)-k
因此确定了系数k与系数a的值,f(x)也就确定了。其中系数k与系数a的确定方法如图4A以及图4B所示,说明如下:
当Iave<Idest时,请参见图4A,首先预设k=10000(步骤411),然后令k=k/2(步骤412),再通过k计算a的值,a=[exp(Idest/k)-1]/Iave(步骤413),从而根据K与a构造出f(x),f(x)=k*ln(a*x+1),(步骤414),然后判断f(x)的值(步骤415),如果f(x)>255,则返回步骤412,直到f(x)不大于255为止,此时令A(k)=[exp(Idest/k)-1]/Iave,当A(k)<255,并且A(2k)>255时,用二分法来计算系数k与系数a,使f(255)=k*ln(a*x+1)=255,从而更新系数k与a的值(步骤416)。
当Iave>Idest时,系数k与系数a的确定方法请参见图4B,如图所示,首先预设k=10000(步骤421),然后令k=k/2(步骤422),再通过k计算a的值(步骤423),a=[ln(Idest/k)+1]/Iave,从而构造出f(x)(步骤424),f(x)=k*exp(a*x)-k,然后判断f(x)的值(步骤425),如果f(x)<255,则返回步骤422,直到f(x)不小于255为止,然后令A(k)=[ln(Idest/k)+1]/Iave,当A(k)>255并且A(2k)<255时,用二分法(Dichotomy)更新系数k与系数a(步骤426),使f(255)=k*exp(a*x)-k=255。
然后根据系数k与系数a构造f(x),根据f(x)创建对照表(lookup table)Itbl[i]其中i=0,1,…,255,Itbl[i]=f(i)i=0,1,…,255。用对照表Itbl映像亮度(I)信道,更新图像的亮度值,更新后的亮度值Inew=Itbl[I[i]],其中I为图像中像素的标识(Index)。最后将图像有HIS格式转换为RGB格式。
下面以一具体图像为例,对本发明进行详细说明:
计算图像的灰度直方图,得到的数据如下:
1507,268,703,1195,354,285,648,416,1252,537,1385,793,236,1018,988,774,1276,672,1206,1081,600,1408,1214,638,3008,644,1532,1618,1611,1590,970,1782,780,780,596,438,510,448,324,311,655,197,250,336,334,302,182,263,336,205,261,227,220,219,171,221,235,162,313,157,190,200,219,262,223,170,311,193,186,158,197,229,185,210,211,245,176,161,180,173,239,146,180,191,187,144,135,165,203,153,166,154,147,128,146,125,141,175,127,138,130,119,102,141,125,145,129,131,123,123,104,125,92,106,111,111,144,112,100,95,94,86,108,88,72,93,114,109,88,122,124,92,126,124,129,80,122,93,113,88,133,105,88,101,105,80,85,89,97,114,102,74,122,69,92,109,94,137,110,87,107,110,132,127,87,89,221,89,115,128,139,159,126,111,322,97,140,164,171,188,127,142,292,101,114,188,123,161,131,140,198,204,92,95,104,75,115,118,107,241,102,129,135,140,114,131,135,315,126,119,152,177,158,192,110,438,129,91,162,121,172,84,92,247,274,72,92,99,93,43,61,79,47,36,18,16,26,26,13,9,3,8,2,1,1,2,1,3,0,3,3,0,2,2,1,62,121,42,149,119,35,68,114,96,149,79,295,199,76,194,303,213,315,177,320,271,146,388,317,127,766,148,450,414,430,418,241,5 15,202,223,159,101,91,73,46,42,65,28,36,27,35,23,21,34,42,21,19,23,13,22,22,38,22,22,25,22,17,17,19,21,29,17,23,20,37,16,23,24,28,28,23,39,19,22,27,33,26,21,23,18,28,17,20,24,30,31,25,27,24,18,21,10,22,29,24,25,16,26,18,33,26,18,22,23,25,12,23,20,17,23,25,17,24,18,26,22,27,20,23,19,20,11,18,24,16,23,17,18,26,22,33,29,26,25,29
然后根据上述资料判断图像的曝光是否正常,计算低阶区域像素个数比率MinRatio与高阶区域像素个数比率MaxRatio的比值,计算公式为:
设定N=4,则得出:MinRatio=0.06,MaxRatio=0.001
由于0.06/(4+1)>2.0/255,并且MinRatio/MaxRatio=0.06/0.001=60>20,因此图像曝光不正常,Ratio_Threshold=0.3。
然后提取图像的中心区域,得到中心区域的平均亮度值Iave=89,由于Iave≤128,因此Ibase=89,于是可以得出deltaI=abs(Iave-Idest)=abs(89-150)=61。其中Idest=150是预设的值。然后更新目标亮度值Idest:
fCurRatio=deltaI/Ibase=61/89=0.69
由于fCurRatio=0.69>Ratio_Threshold=0.3
因此fCurRatio=Ratio_Threshold=0.3
又因为Iave=89<Idest=150
因此Idest=Iave-fCurRatio*Ibase=89-89*0.3=63
然后确定曲线y=f(x),首先设定k=10000,由于Iave<Idest,所以a=[exp(63/k)-1]/89,f(x)=k*ln(a*x+1),如果f(x)>255,k=k/2,可最终得出k的值。
A(k)=[exp(63/k)-1]/89,当A(k)<255并且A(2k)>255时,用二分法(Dichotomy)计算系数k与系数a,使f(255)=k*ln(a*x+1)=255,从而得出a的值。
然后创建对照表,再将图像转换到HIS格式,用上述对照表映像I信道,完成所有像素的映像后,再将图像转换为RGB格式。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。