发明内容
本申请实施例提供一种基于单帧图像的宽动态范围处理方法,用以解决现有技术中图像宽动态范围处理耗费资源高、效果不理想的问题。
本申请实施例采用下述技术方案:
一种基于单帧图像的宽动态范围处理方法,包括:
获取源图像,所述源图像是在时域一次曝光采样的单帧图像;
将所述获取的单帧源图像的亮度分量分别进行低通滤波与去噪处理,并依据低通滤波与去噪滤波处理得到的两幅图像数据提取边界信息;
将获取的边界信息引入源图像信息的亮度分量中以获取一幅暗图像和一幅亮图像;
分别区分边界信息、亮图像以及暗图像的高低比特位大小,并根据先验曲线进行明暗度调整映射处理来调整边界信息、亮图像、暗图像的亮度值;
在暗图像亮度调整后的基础上,引入亮度调整后的边界信息来补偿获取图像的轮廓信息,并通过经亮度调整后的亮图像和暗图像的整体明暗信息来决定最终图像的明暗程度并合成亮度维度分量;
通过合成的亮度维度分量产生一个增益来调整单帧源图像的色度分量并合成最终宽动态范围图像输出。
优选地,将所述获取的单帧源图像的亮度分量分别进行低通滤波与去噪处理,并依据低通滤波与去噪滤波处理得到的两幅图像数据提取边界信息,包括:
将源图像所在的RGB颜色空间变换到YUV空间;
依据所述源图像的亮度分量建立像素矩阵:
根据亮度分量Y图像周围像素点距离模板中心像素点的不同距离给予不同的滤波权重系数,并建立权重系数模板:
对亮度分量Y进行低通滤波处理得到低通滤波值LPF;
对亮度分量Y进行去噪滤波处理得到去噪滤波值NRF;
根据低通滤波和去噪滤波得出的两部分数据为LPF,NRF,获取任一像素点位置(x,y)的边界信息,依据如下公式获取:
Edge(x,y)=NRF(x,y)-LPF(x,y)。
优选地,对亮度分量Y进行低通滤波处理得到低通滤波值LPF,包括:
低通滤波结果通过如下公式计算:
其中,p1=a22,p2=a12+a21+a23+a32,p3=a11+a13+a31+a33,p4=a02+a20+a24+a42,p5=a01+a10+a03+a30+a14+a41+a34+a43,p6=a00+a04+a40+a44,LPF表示滤波后的像素值结果,round(·)表示四舍五入计算。
优选地,对亮度分量Y进行去噪滤波处理得到去噪滤波值NRF,包括:
设定去噪阈值nrth参数;
根据像素矩阵模板中心周围像素点与中心像素点位置处像素值差值的绝对值diff=|Around-Center|和去噪阈值nrth进行比较,对绝对差值diff小于去噪阈值nrth的相应像素点进行去噪滤波处理,将去噪阈值nrth与像素值绝对差值diff的差值作为滤波系数Weigh,即Weight=nrth-diff;
去噪滤波结果通过如下公式计算:
其中,Numer表示满足去噪条件的像素点加权求和结果,inv_denom表示根据先验曲线由满足去噪条件的像素点滤波系数之和映射的函数值,具体地,
其中,Aroundi表示满足去噪条件需要去噪处理的像素点像素值,Weighti表示其相应的滤波系数,Denom表示相应滤波系数之和,inv_denom由Denom通过先验曲线查表得到其对应的值。
优选地,将获取的边界信息引入源图像信息的亮度分量中以获取一幅暗图像和一幅亮图像,包括:
亮图像的获取:依据源图像亮度Y分量,以及亮度前的边界信息Edge,并累加一个该图像亮度Y分量输入比特数所能表示的最大值,得到一幅相对较亮的图像,具体如下所示:
xb=MAX+Edge(x,y)-In_Y(x,y)
其中,xb表示获取的相对较亮的图像,MAX表示Y分量输入比特数所能表示的最大值,In_Y为源图像输入Y分量的值;
暗图像的获取:依据源图像亮度Y分量,以及未调整亮度前的边界信息Edge,并累加一个该图像Y分量输入比特数所能表示的最小值,得到一幅相对较暗的图像,具体如下公式所示:
xd=MIN+Edge(x,y)-In_Y(x,y)
其中,xd表示获取的相对较暗的图像,MIN表示源图像亮度Y分量输入比特数所能表示的最小值,In_Y为源图像亮度Y分量的值。
优选地,分别区分边界信息、亮图像以及暗图像的高低比特位大小,并根据先验曲线进行明暗度调整映射处理来调整边界信息、亮图像、暗图像的亮度值,包括:
边界信息的亮度调整:先对获取的边界信息施加一个整体调整参数wdrkinv,若记xc=Edge,则初步调整后的边界部分为:
其中,所述wdrkbinv参数值是依据计算出的边界信息值Edge(x,y)的正负而设定的,表示如下:
依据xc_k查验先验曲线表并映射得到两个不同的函数值exp_c0,diff_c0,将高比特位和低比特位组合成调整后的边界信息,表示如下:
其中,exp_c为调整后的边界值,exp_c0,diff_c0为xc_k高比特位大小查表映射的值,Lxc_k为xc_k低比特位大小;
暗图像的亮度调整:对获取的相对较暗的图像xd施加一个整体调整参数wdrkdinv,则初步调整后的相对较暗的图像为:
依据xd_k查验先验曲线表并映射得到两个不同的函数值exp_d0,diff_d0,将高比特位和低比特位组合成调整后的暗图像,表示如下:
其中,exp_d为相对较暗的图像调整后的值,Lxd_k为xd_k低比特位大小;
亮图像的亮度调整:对获取的相对较亮的图像xb施加一个整体调整参数wdrkbinv,则初步调整后的相对亮图像为:
依据xb_k查验先验曲线表并映射得到两个不同的函数值exp_b0,diff_b0,将高比特位和低比特位组合成调整后的亮图像,表示如下:
其中,exp_b为相对较亮的图像调整后的值,Lxb_k为xb_k低比特位大小。
优选地,在暗图像亮度调整后的基础上,引入亮度调整后的边界信息来补偿获取图像的轮廓信息,并通过经亮度调整后的亮图像和暗图像的整体明暗信息来决定最终图像的明暗程度并合成亮度维度分量,包括:
最终合成的亮度Y分量表示为:
其中,Out_Y表示合成后的亮度Y分量值,numer表示在暗图像调整后的基础上引入调整后的边界信息的补偿结果,在这里numer≥0,若计算出的该值为负,则使其为0;denom_inv表示根据先验曲线由整体明暗信息映射的函数值,具体地:
numer=exp_c-exp_d
denom_inv=f(denom)=f(exp_b-exp_d)
其中,denom表示由经过映射曲线调整的亮图像和暗图像整体明暗信息决定的最终图像明暗程度,denom_inv表示denom通过先验曲线查表得到的函数值。
优选地,通过合成的亮度维度分量产生一个增益来调整单帧源图像的色度分量并合成最终宽动态范围图像输出,包括:
通过合成的亮度分量值In_Y查验曲线表,获取y_inv,然后通过如下公式计算增益c_gain值:
最终合成的宽动态范围图像的U,V分量分别为:
其中,In_U、In_V为源图像的U、V维度分量;
合成Out_U、Out_V、Out_Y三个分量获得最终的宽动态范围处理后的图像。
一种基于单帧图像的宽动态范围处理系统,包括:
滤波单元,用于将单帧源图像的亮度分量分别进行低通滤波与去噪处理,并依据低通滤波与去噪滤波处理得到的两幅图像数据提取边界信息;
整合单元,用于将获取的边界信息引入源图像信息的亮度分量中以获取一幅暗图像和一幅亮图像;
亮度调整单元,用于分别区分边界信息、亮图像以及暗图像的高低比特位大小,并根据先验曲线进行明暗度调整映射处理来调整边界信息、亮图像、暗图像的亮度值;
亮度分量合成单元,用于在暗图像亮度调整后的基础上,引入亮度调整后的边界信息来补偿获取图像的轮廓信息,并通过经亮度调整后的亮图像和暗图像的整体明暗信息来决定最终图像的明暗程度并合成亮度维度分量;
图像合成单元,用于通过合成的亮度维度分量产生一个增益来调整单帧源图像的色度分量并合成最终宽动态范围图像输出。
优选地,所述系统还包括获取单元,用于获取源图像,所述源图像是在时域一次曝光采样的单帧图像。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请基于单帧图像的宽动态范围处理方法通过提取单次曝光的单帧源图像的亮度分量,通过对亮度分量的处理获得边界信息,再依据边界信息与亮度分量的结合形成亮暗两幅图像,并调整边界信息、亮图像与暗图像的亮度值,从而获得最终合成的亮度分量输出值,依据该亮度分量的输出值计算出色彩分量的增益值,最终计算出经宽动态范围处理后的图像。解决了现有技术单帧多次曝光或多帧单次曝光的图像进行宽动态范围处理所面临的数据处理量大、硬件成本高的缺点。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
参阅图1、图8所示,图1为本申请实施例1提供的基于单帧图像的宽动态范围处理方法的流程图,本案基于时域单次曝光采样的单帧图像进行宽动态范围处理,分析采样图像的像素高低比特位特征,并采用不同的先验曲线映射亮度值,最终通过算法合成宽动态范围图像。包括以下步骤:
S101:获取源图像。
本步骤所述获取的源图像是指通过图像传感器在时域一次曝光采样的单帧图像。
S102:将所述获取的单帧源图像的亮度分量分别进行低通滤波与去噪处理,并依据低通滤波与去噪滤波处理得到的两幅图像数据提取边界信息。
本步骤所述源图像的低通滤波、去噪处理是将10bits位深度图像所在的RGB颜色空间变换到YUV空间,对亮度Y分量进行低通滤波、去噪处理。
首先根据亮度分量Y图像周围像素点距离模板中心像素点的不同距离给予不同的滤波权重系数,以该5x5模板为例,共6种不同的滤波系数。
若给定一个5x5像素矩阵如下:
滤波模板表示如下:
则,本步骤的低通滤波处理时保持图像最外两圈像素点不变如,低通滤波结果通过如下公式计算:
其中,p1=a22,p2=a12+a21+a23+a32,p3=a11+a13+a31+a33,p4=a02+a20+a24+a42,p5=a01+a10+a03+a30+a14+a41+a34+a43,p6=a00+a04+a40+a44,LPF表示滤波后的像素值结果,round(·)表示四舍五入计算,在本实施例中,其中一组可用的滤波系数f1~f6为:40,12,6,4,2,1。
本步骤对亮度Y分量进行去噪滤波,去噪滤波时保持图像最外两圈像素点不变:
首先设定一个合适的去噪阈值nrth参数,例如可以是nrth=0x1F,若去噪阈值增大,其降噪能力将会增强,若去噪阈值设置太大,则去噪处理后的图像也会变模糊;
根据模板中心周围像素点与中心像素点位置处像素值差值的绝对值diff=|Around-Center|和去噪阈值nrth进行比较,对绝对差值diff小于去噪阈值nrth的相应像素点进行去噪滤波处理,将去噪阈值nrth与像素值绝对差值diff的差值作为滤波系数Weigh,即Weight=nrth-diff,该滤波系数的选取决定于去噪阈值及像素值间的大小,是一种动态自适应的选取方式。
则去噪滤波结果通过如下公式计算:
其中,Numer表示满足去噪条件的像素点加权求和结果,inv_denom表示根据先验曲线由满足去噪条件的像素点滤波系数之和映射的函数值,具体地,
其中,Aroundi表示满足去噪条件需要去噪处理的像素点像素值,Weighti表示其相应的滤波系数,Denom表示相应滤波系数之和,本实施例中由Denom通过先验曲线查表即可得到其对应的inv_denom值,该先验曲线如图2所示,图2所示先验曲线是通过y=f(x)计算得到的值(x,y),即当x=0时,y=65536;当0<x<256,且为整数时,y=round(100000/(1.528*x)),round表示四舍五入取整。进一步地,由于该先验曲线表仅有256个数据点,若计算出的滤波系数之和Denom超过了256,则需要额外处理,本实施例中采用以下公式进行更新处理:
根据对源图像的亮度Y分量分别做低通滤波和去噪得出的两部分数据为LPF,NRF,任一像素点位置(x,y)的边界信息依据如下公式获取:
Edge(x,y)=NRF(x,y)-LPF(x,y)
此时,像素点位置(x,y)不包括源图像周围两圈像素点。
S103:将获取的边界信息引入源图像信息的亮度分量中以获取一幅暗图像和一幅亮图像。
本步骤中对于亮图像的获取,是依据源图像亮度Y分量,以及亮度前的边界信息Edge,并累加一个该图像亮度Y分量输入比特数所能表示的最大值,得到一幅相对较亮的图像,具体如下所示:
xb=MAX+Edge(x,y)-In_Y(x,y)
其中,xb表示获取的相对较亮的图像,MAX表示Y分量输入比特数所能表示的最大值,如果输入图像亮度Y分量数据为10bits,则MAX=1024(2的10次方),In_Y为源图像输入Y分量的值。
本步骤中对于暗图像的获取,是依据源图像亮度Y分量,以及未调整亮度前的边界信息Edge,并累加一个该图像Y分量输入比特数所能表示的最小值,得到一幅相对较暗的图像,具体如下公式所示:
xd=MIN+Edge(x,y)-In_Y(x,y)
其中,xd表示获取的相对较暗的图像,MIN表示源图像亮度Y分量输入比特数所能表示的最小值,如果输入图像亮度Y分量为10bits,则MIN=0(2的0次方),In_Y为源图像亮度Y分量的值。
S104:分别区分边界信息、亮图像以及暗图像的高低比特位大小,并根据先验曲线进行明暗度调整映射处理来调整边界信息、亮图像、暗图像的亮度。
本步骤的亮度调整包括对边界信息、亮图像、暗图像的亮度调整。
1)所述边界信息的亮度调整包括:
先对获取的边界信息施加一个整体调整参数wdrkinv,若记xc=Edge,则初步调整后的边界部分为:
其中,所述wdrkbinv参数值是依据计算出的边界信息值Edge(x,y)的正负而设定的,表示如下:
本实施例中,wdrkbinv参数值一般设定为小于29,wdrkdinv参数值一般设定为大于29。若Edge≥0,说明该区域较亮,需要先适度降低其亮度;若Edge<0,说明该区域较暗,需要先适度提升其亮度。其中,wdrkbinv参数用于较亮区域的亮度调整,当该值增大时,亮区域明暗程度将会降低,wdrkdinv参数用于较暗区域的亮度调整,当该值增大时,暗区域明暗程度将会随之增高。
对经过初步调整的边界信息,根据其高比特位大小查两个不同的先验曲线映射表获取两个不同取值。本实施例中,一种可用的先验曲线表如图3所示,用xc_k右移6比特位之后剩余的高位大小,去分别查曲线表1-exp_table和2-exp_diff_table映射两个不同的函数值exp_c0,diff_c0,具体地,记xc_k右移6比特位之后剩余的高位大小为x_k,则exp与diff查表计算如下:
映射完成后,将其高比特位和低比特位组合成调整后的边界,具体地,
其中,exp_c为调整后的边界值,exp_c0,diff_c0为xc_k高比特位大小查表映射的值,Lxc_k为xc_k低比特位大小,在这里为低6位大小,其计算如下:
Lxc_k=xc_k&0x3F
其中,&表示按位与。
2)所述暗图像的亮度调整包括:
类似边界调整,再对获取的相对较暗的图像xd施加一个整体调整参数wdrkdinv,则初步调整后的相对较暗的图像为:
同样地,类似边界调整,仍使用先验曲线表如图3所示,用xd_k右移6比特位之后剩余的高位大小分别查如图3所示曲线表1,2映射两个不同的函数值exp_d0,diff_d0。图3所示先验曲线1-exp_table对应的函数曲线为y=round(4085/(1+exp(-0.03144*(x-192))));其中,x为0-383闭区间内的所有整数,共384个取值,round表示四舍五入取整;图3所示先验曲线2-exp_diff_table对应的函数曲线为Y=diff(y),其中diff表示差分,即对曲线1-exp_table数据做差分运算得到的数据曲线即为2-exp_diff_table,此处是对整数y做差分,因而Y也为整数。映射完成后,将其高比特位和低比特位组合成调整后的暗图像,表示如下:
其中,exp_d为相对较暗的图像调整后的值,exp_d0,diff_d0为xd_k高比特位大小查表映射的值,Lxd_k为xd_k低比特位大小,在这里同样为低6位大小,其计算如下:
Lxd_k=xd_k&0x3F。
3)所述亮图像的亮度调整包括:
类似边界调整,先对获取的相对较亮的图像xb施加一个整体调整参数wdrkbinv,则初步调整后的相对亮图像为:
同样地,类似边界调整,仍使用先验曲线表如图3所示,用xb_k右移6比特位之后剩余的高位大小去分别查曲线表1,2映射两个不同的函数值exp_b0,diff_b0。映射完成后,将其高比特位和低比特位组合成调整后的亮图像,具体如下表示:
其中,exp_b为相对较亮的图像调整后的值,exp_b0,diff_b0为xb_k高比特位大小查表映射的值,Lxb_k为xb_k低比特位大小,在这里同样为低6位大小,其计算如下:
Lxb_k=xb_k&0x3F。
本实施例中一组明暗区域调整参数设置为wdrkbinv=0x151,wdrkdinv=0x2A5。
S105:在暗图像亮度调整后的基础上,引入亮度调整后的边界信息来补偿获取图像的轮廓信息,并通过经亮度调整后的亮图像和暗图像的整体明暗信息来决定最终图像的明暗程度并合成亮度维度分量。
本步骤在较暗的图像调整后的基础上,通过引入经亮度调整后的边界信息的补偿来保证较好的边界信息,并由经过映射曲线调整的亮图像和暗图像的整体明暗信息来决定最终图像的明暗程度,最终合成的亮度Y分量表示为:
其中,Out_Y表示合成后的亮度Y分量值,numer表示在暗图像调整后的基础上引入调整后的边界信息的补偿结果,在这里numer≥0,若计算出的该值为负,则使其为0;denom_inv表示根据先验曲线由整体明暗信息映射的函数值,具体地:
numer=exp_c-exp_d
denom_inv=f(denom)=f(exp_b-exp_d)
其中,denom表示由经过映射曲线调整的亮图像和暗图像整体明暗信息决定的最终图像明暗程度,本实施例中由denom通过先验曲线查表即可得到其对应的denom_inv值,一种可用的先验曲线如图4所示,为控制denom大小以便查表,通常采用denom除以4的结果去查表获取相应函数值,图4所示先验曲线的计算函数为:当x=0时,y=1048576=2^20;当0<x<255,且为整数时y=round(1/(9.54*10^(-7)*x))=round(10^7/(9.54*x));round表示四舍五入取整。
S106:通过合成的亮度维度分量产生一个增益来调整源图像UV色度分量并合成最终宽动态范围图像。
图5所示先验曲线的计算函数为:当x=0时,y=1048576=2^20;当0<x<1024,且为整数时y=round(1/(9.54*10^(-7)*x))=round(10^7/(9.54*x));round表示四舍五入取整。本步骤首先通过合成的亮度分量值In_Y查如图5所示的曲线表,以获取y_inv,然后通过如下公式计算增益c_gain值:
最终合成的宽动态范围图像的U,V分量分别为:
其中,In_U、In_V为源图像的U、V维度分量;
最终,合成Out_U、Out_V、Out_Y三个分量获得最终的宽动态范围处理后的图像。
如图6所示,显示了采用本申请技术方案实施宽动态范围处理后的图像与源图像的效果图,左图(1)为源图像,右图(2)为宽动态范围处理后的输出图像。从图6可知,经过本申请技术方案处理后的图像在较暗区域的细节更为清晰可辨。
实施例2
参阅图7、图8所示,图7为本申请实施例2提供的基于单帧图像的宽动态范围处理方法的示意图,本案基于时域单次曝光采样的单帧图像进行宽动态范围处理,分析采样图像的像素高低比特位特征,并采用不同的先验曲线映射亮度值,最终通过算法合成宽动态范围图像。包括
获取单元201,用于获取源图像,所述源图像是在时域一次曝光采样的单帧图像
滤波单元202,用于将单帧源图像的亮度分量分别进行低通滤波与去噪处理,并依据低通滤波与去噪滤波处理得到的两幅图像数据提取边界信息;
整合单元203,用于将获取的边界信息引入源图像信息的亮度分量中以获取一幅暗图像和一幅亮图像;
亮度调整单元204,用于分别区分边界信息、亮图像以及暗图像的高低比特位大小,并根据先验曲线进行明暗度调整映射处理来调整边界信息、亮图像、暗图像的亮度值;
亮度分量合成单元205,用于在暗图像亮度调整后的基础上,引入亮度调整后的边界信息来补偿获取图像的轮廓信息,并通过经亮度调整后的亮图像和暗图像的整体明暗信息来决定最终图像的明暗程度并合成亮度维度分量;
图像合成单元206,用于通过合成的亮度维度分量产生一个增益来调整单帧源图像的色度分量并合成最终宽动态范围图像输出。
所述获取单元201获取的源图像是指通过图像传感器在时域一次曝光采样的单帧图像。
所述滤波单元202将10bits位深度图像所在的RGB颜色空间变换到YUV空间,再对亮度Y分量进行低通滤波、去噪处理。
首先根据亮度分量Y图像周围像素点距离模板中心像素点的不同距离给予不同的滤波权重系数,以该5x5模板为例,共6种不同的滤波系数。
若给定一个5x5像素矩阵如下:
滤波模板表示如下:
则,本步骤的低通滤波处理时保持图像最外两圈像素点不变如,低通滤波结果通过如下公式计算:
其中,p1=a22,p2=a12+a21+a23+a32,p3=a11+a13+a31+a33,p4=a02+a20+a24+a42,p5=a01+a10+a03+a30+a14+a41+a34+a43,p6=a00+a04+a40+a44,LPF表示滤波后的像素值结果,round(·)表示四舍五入计算,在本实施例中,其中一组可用的滤波系数f1~f6为:40,12,6,4,2,1。
本步骤对亮度Y分量进行去噪滤波,去噪滤波时保持图像最外两圈像素点不变:
首先设定一个合适的去噪阈值nrth参数,例如可以是nrth=0x1F,若去噪阈值增大,其降噪能力将会增强,若去噪阈值设置太大,则去噪处理后的图像也会变模糊;
根据模板中心周围像素点与中心像素点位置处像素值差值的绝对值diff=|Around-Center|和去噪阈值nrth进行比较,对绝对差值diff小于去噪阈值nrth的相应像素点进行去噪滤波处理,将去噪阈值nrth与像素值绝对差值diff的差值作为滤波系数Weigh,即Weight=nrth-diff,该滤波系数的选取决定于去噪阈值及像素值间的大小,是一种动态自适应的选取方式。
则去噪滤波结果通过如下公式计算:
其中,Numer表示满足去噪条件的像素点加权求和结果,inv_denom表示根据先验曲线由满足去噪条件的像素点滤波系数之和映射的函数值,具体地,
其中,Aroundi表示满足去噪条件需要去噪处理的像素点像素值,Weighti表示其相应的滤波系数,Denom表示相应滤波系数之和,本实施例中由Denom通过先验曲线查表即可得到其对应的inv_denom值,该先验曲线如图2所示。进一步地,由于该先验曲线表仅有256个数据点,若计算出的滤波系数之和Denom超过了256,则需要额外处理,本实施例中采用以下公式进行更新处理:
根据对源图像的亮度Y分量分别做低通滤波和去噪得出的两部分数据为LPF,NRF,任一像素点位置(x,y)的边界信息依据如下公式获取:
Edge(x,y)=NRF(x,y)-LPF(x,y)
此时,像素点位置(x,y)不包括源图像周围两圈像素点。
所述整合单元203对于亮图像的获取,是依据源图像亮度Y分量,以及亮度前的边界信息Edge,并累加一个该图像亮度Y分量输入比特数所能表示的最大值,得到一幅相对较亮的图像,具体如下所示:
xb=MAX+Edge(x,y)-In_Y(x,y)
其中,xb表示获取的相对较亮的图像,MAX表示Y分量输入比特数所能表示的最大值,如果输入图像亮度Y分量数据为10bits,则MAX=1024(2的10次方),In_Y为源图像输入Y分量的值。
对于暗图像的获取,是依据源图像亮度Y分量,以及未调整亮度前的边界信息Edge,并累加一个该图像Y分量输入比特数所能表示的最小值,得到一幅相对较暗的图像,具体如下公式所示:
xd=MIN+Edge(x,y)-In_Y(x,y)
其中,xd表示获取的相对较暗的图像,MIN表示源图像亮度Y分量输入比特数所能表示的最小值,如果输入图像亮度Y分量为10bits,则MIN=0(2的0次方),In_Y为源图像亮度Y分量的值。
所述调整单元204包括对边界信息、亮图像、暗图像的亮度调整。
1)所述边界信息的亮度调整包括:
先对获取的边界信息施加一个整体调整参数wdrkinv,若记xc=Edge,则初步调整后的边界部分为:
其中,所述wdrkbinv参数值是依据计算出的边界信息值Edge(x,y)的正负而设定的,表示如下:
本实施例中,wdrkbinv参数值一般设定为小于29,wdrkdinv参数值一般设定为大于29。若Edge≥0,说明该区域较亮,需要先适度降低其亮度;若Edge<0,说明该区域较暗,需要先适度提升其亮度。其中,wdrkbinv参数用于较亮区域的亮度调整,当该值增大时,亮区域明暗程度将会降低,wdrkdinv参数用于较暗区域的亮度调整,当该值增大时,暗区域明暗程度将会随之增高。
对经过初步调整的边界信息,根据其高比特位大小查两个不同的先验曲线映射表获取两个不同取值。本实施例中,一种可用的先验曲线表如图3所示,用xc_k右移6比特位之后剩余的高位大小,去分别查曲线表1-exp_table和2-exp_diff_table映射两个不同的函数值exp_c0,diff_c0,具体地,记xc_k右移6比特位之后剩余的高位大小为x_k,则exp与diff查表计算如下:
映射完成后,将其高比特位和低比特位组合成调整后的边界,具体地,
其中,exp_c为调整后的边界值,exp_c0,diff_c0为xc_k高比特位大小查表映射的值,Lxc_k为xc_k低比特位大小,在这里为低6位大小,其计算如下:
Lxc_k=xc_k&0x3F
其中,&表示按位与。
2)所述暗图像的亮度调整包括:
类似边界调整,再对获取的相对较暗的图像xd施加一个整体调整参数wdrkdinv,则初步调整后的相对较暗的图像为:
同样地,类似边界调整,仍使用先验曲线表如图3所示,用xd_k右移6比特位之后剩余的高位大小分别查如图3所示曲线表1,2映射两个不同的函数值exp_d0,diff_d0。映射完成后,将其高比特位和低比特位组合成调整后的暗图像,表示如下:
其中,exp_d为相对较暗的图像调整后的值,exp_d0,diff_d0为xd_k高比特位大小查表映射的值,Lxd_k为xd_k低比特位大小,在这里同样为低6位大小,其计算如下:
Lxd_k=xd_k&0x3F。
3)所述亮图像的亮度调整包括:
类似边界调整,先对获取的相对较亮的图像xb施加一个整体调整参数wdrkbinv,则初步调整后的相对亮图像为:
同样地,类似边界调整,仍使用先验曲线表如图3所示,用xb_k右移6比特位之后剩余的高位大小去分别查曲线表1,2映射两个不同的函数值exp_b0,diff_b0。映射完成后,将其高比特位和低比特位组合成调整后的亮图像,具体如下表示:
其中,exp_b为相对较亮的图像调整后的值,exp_b0,diff_b0为xb_k高比特位大小查表映射的值,Lxb_k为xb_k低比特位大小,在这里同样为低6位大小,其计算如下:
Lxb_k=xb_k&0x3F。
本实施例中一组明暗区域调整参数设置为wdrkbinv=0x151,wdrkdinv=0x2A5。
所述亮度合成单元205在较暗的图像调整后的基础上,通过引入经亮度调整后的边界信息的补偿来保证较好的边界信息,并由经过映射曲线调整的亮图像和暗图像的整体明暗信息来决定最终图像的明暗程度,最终合成的亮度Y分量表示为:
其中,Out_Y表示合成后的亮度Y分量值,numer表示在暗图像调整后的基础上引入调整后的边界信息的补偿结果,在这里numer≥0,若计算出的该值为负,则使其为0;denom_inv表示根据先验曲线由整体明暗信息映射的函数值,具体地:
numer=exp_c-exp_d
denom_inv=f(denom)=f(exp_b-exp_d)
其中,denom表示由经过映射曲线调整的亮图像和暗图像整体明暗信息决定的最终图像明暗程度,本实施例中由denom通过先验曲线查表即可得到其对应的denom_inv值,一种可用的先验曲线如图4所示,为控制denom大小以便查表,通常采用denom除以4的结果去查表获取相应函数值。
所述图像合成单元206通过合成的亮度分量值In_Y查如图5所示的曲线表,以获取y_inv,然后通过如下公式计算增益c_gain值:
最终合成的宽动态范围图像的U,V分量分别为:
其中,In_U、In_V为源图像的U、V维度分量;
最终,合成Out_U、Out_V、Out_Y三个分量获得最终的宽动态范围处理后的图像。
本申请基于单帧图像的宽动态范围处理方法通过提取单次曝光的单帧源图像的亮度分量,通过对亮度分量的处理获得边界信息,再依据边界信息与亮度分量的结合形成亮暗两幅图像,并调整边界信息、亮图像与暗图像的亮度值,从而获得最终合成的亮度分量输出值,依据该亮度分量的输出值计算出色彩分量的增益值,最终计算出经宽动态范围处理后的图像。解决了现有技术单帧多次曝光或多帧单次曝光的图像进行宽动态范围处理所面临的数据处理量大、硬件成本高的缺点。
需要说明的是,实施例一所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程对象聚类设备的处理器以产生一个机器,使得通过计算机或其他可编程对象聚类设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程对象聚类设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程对象聚类设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。