本发明涉及图像处理技术领域,具体涉及一种基于HDR的图像处理方法。
背景技术:
目前一般的影像感测器sensor或图像传感器CMOS都具备高位宽采样位宽,然而目前大多数显示器的显示采样位宽仅为8比特,位宽比影像感测器中的采样位宽低。因此为了适应显示器的显示位宽,在图像处理过程中通常将原始高位宽的图像进行截位操作,比如截取高8位,生成8比特数据。但这样的处理过程会对原有图像的动态范围造成损失。
现有的HDR算法,采用行交错高低曝光方法或者采用多帧不同曝光方法获得多帧不同亮度的原始数据,然后采用合适的融合方法融合得到宽动态范围图像。交错行曝光的方式会造成图像分辨率的损失,例如奇数行高曝光(高亮度)、偶数行低曝光(低亮度)的方式,高亮度和低亮度的图像纵向分辨率为原始分辨率的一半。多帧不同曝光的方式,由于多帧在时间上顺序排列,如果目标快速运动,则不同曝光图像在融合之前需要进行图像配准,图像配准会降低拍摄的实时性。
技术实现要素:
本发明针对现有技术中的上述不足,提供了一种将高位宽图像映射为低位宽图像、同时保留原始图像的动态范围和分辨率、且无须配准操作的基于HDR的图像处理方法。
为解决上述技术问题,本发明采用了如下方法:
提供了一种基于HDR的图像处理方法,包括如下步骤:
获取图像采集设备采集的位宽大于等于10比特的高位宽图像数据;
按设定顺序对高位宽图像数据每一帧的高位宽图像进行位截取操作,生成至少三幅具有设定数量比特数据且亮度不同的低位宽图像;
获取每幅低位宽图像的图像质量参数,并根据每幅低位宽图像对应的图像质量参数计算对应的融合权重因子;
对每幅低位宽图像的每一像素点的像素值和其融合权重因子进行降采样处理,得到多个相同降采样维度的图像,并对相同降采样维度的图像进行权重融合;
对相同降采样维度的图像的权重融合结果进行降采样反向操作,生成一帧低位宽的高动态范围图像。
进一步地,按设定顺序对高位宽图像数据每一帧的高位宽图像进行位截取操作,生成至少三幅具有设定数量比特数据且亮度不同的低位宽图像的步骤包括:
根据每一帧高位宽图像的每一个像素点的像素值,获得该像素点的像素值中从低到高等同于目标位宽的像素值,作为该像素点的高亮度的低位宽像素值,生成高亮度的低位宽图像;
将所述像素点的高位宽像素值向右移设定值位宽,获得该右移后像素值中从低到高等同于目标位宽的像素值,作为该像素点的次高亮度的低位宽像素值,生成次高亮度的低位宽图像;
将所述像素点的高位宽像素值向右移设定值位宽,获得该右移后像素值,若此时该像素点右移后的像素值位宽等于目标位宽,右移结束,对所有像素点重复上述位截取步骤,生成低亮度的低位宽图像;
若右移后像素值大于目标位宽,重复向右移设定值位宽然后按目标位宽截取的步骤,获得该像素点亮度同比降低的低位宽像素值,对所有像素点重复上述位截取步骤,生成亮度同比下降的低位宽图像,直至该像素点右移后的像素值位宽等于目标位宽。
进一步地,获取每幅低位宽图像的图像质量参数,并根据每幅低位宽图像对应的图像质量参数计算对应的融合权重因子的步骤为:
所述图像质量参数包括对比度、饱和度和曝光参数,分别对每幅所述低位宽图像的每个像素点的三个图像质量参数进行测试,并得到相应的对比度因子、饱和度因子和亮度权重因子,然后将三个权重因子相乘得到融合权重因子。
进一步地,对多帧所述低位宽图像的同一像素点的每一帧的融合权重因子进行归一化操作。
进一步地,对所述多帧低位宽图像的每一帧的每个像素点的对比度进行测试的步骤包括:
对每幅所述低位宽图像的每个像素点的RGB三个色彩通道的色彩值融合得到亮度参数;
对亮度参数进行拉普拉斯算子卷积处理,得到对比度因子。
进一步地,对每幅所述低位宽图像的每个像素点的饱和度测试的方法为,计算目标像素点的RGB三个色彩通道的色彩值的标准差,得到饱和度因子。
进一步地,对每幅所述低位宽图像的每个像素点的曝光参数测试的方法为,计算目标像素点的RGB三个色彩通道的色彩值与目标曝光度的距离,然后相乘得到亮度权重因子。
进一步地,对每幅所述低位宽图像的每个像素点的相同降采样维度的像素值进行权重融合的方法,需要对每个维度下的每个色彩通道进行单独融合。
进一步地,对相同降采样维度的图像的权重融合结果进行降采样反向操作的方法为,将高维度图像的权重融合结果放大1倍,并与相邻低一维度的图像的权重融合结果相加,生成新的该低维度图像的权重融合结果。
本发明的有益效果是:提供了一种基于HDR的图像处理方法,能够将高位宽图像映射为低位宽图像,并能够保留原始图像的动态范围和分辨率,并且所采用的不同亮度图像均来源于同一曝光帧,无须配准操作,具有计算简单和高实时等优点。
附图说明
图1为本发明基于HDR的图像处理方法的流程图。
图2为本发明基于HDR的图像处理方法将10比特图像映射为8比特图像的示例流程图。
具体实施方式
下面结合附图对本发明作进一步说明:
如图1所示,本发明一种基于HDR的图像处理方法主要步骤包括101至步骤105。
在步骤101中、获取图像采集设备采集的位宽大于等于10比特的高位宽图像数据,在本实施例中,图像采集设备采集的10比特图像大小为N*M,每个像素点索引为(i,j),其中1≤i≤N,1≤j≤M。
在步骤102中、按设定顺序对高位宽图像数据每一帧的高位宽图像进行位截取操作,生成至少三幅具有设定数量比特数据且亮度不同的低位宽图像。进一步地,步骤102可以进一步细化为步骤S1至步骤S3:
在步骤S1中,根据每一帧高位宽图像的每一个像素点的像素值,获得该像素点的像素值中从低到高等同于目标位宽的像素值,并舍去超出目标位宽的像素值,将所得结果作为该像素点的高亮度的低位宽像素值。对所有像素点重复上述位截取步骤,生成以帧为单位的高亮度的低位宽图像。
如图2所示,下面对10比特原始图像通过位截取得到高亮度的低位宽图像的具体步骤进行详细说明:
对原始图像中每一个像素Y10(i,j),取低8位作为高亮度图像像素点YH(i,j)的对应位置像素值:
如果Y10(i,j)≥255,则YH(i,j)=255;
否则YH(i,j)=Y10(i,j)。
这样操作后,YH最大值是255,可以保存为8比特。
在步骤S2中,将所述像素点的高位宽像素值向右移设定值位宽,这里设定值取1位,获得该右移后像素值中从低到高等同于目标位宽的像素值,并舍去超出目标位宽的像素值,将所得结果作为该像素点的次高亮度的低位宽像素值。对所有像素点重复上述位截取步骤,生成次高亮度的低位宽图像。
如图2所示,下面对10比特原始图像通过位截取得到次高亮度的低位宽图像的具体步骤进行详细说明:
具体地,将Y10(i,j)右移1位,生成9比特数据Y9,取低8位作为中亮度图像YM的对应位置像素值:
如果Y9(i,j)≥255,则YM(i,j)=255;
否则,YM(i,j)=Y9(i,j)。
这样操作后,YM最大值是255,可以保存为8比特。
在步骤S3中,将所述像素点的高位宽像素值右移1位,获得该右移后像素值,此时该像素点右移后的像素值位宽等于目标位宽。并对所有像素点重复上述位截取步骤,生成低亮度的低位宽图像。
如图2所示,下面对10比特原始图像通过位截取得到低亮度的低位宽图像的具体步骤进行详细说明:具体地,将Y10(i,j)右移2位,生成8比特数据,定义为低亮度YL的对应位置像素值。重复位截取操作至一帧结束,生成低亮度图像YL、中亮度图像YM和高亮度图像YH。
在步骤103中、获取每幅低位宽图像的图像质量参数,并根据每幅低位宽图像对应的图像质量参数计算对应的融合权重因子。进一步地,图像质量参数包括对比度、饱和度和曝光参数。分别对每幅低位宽图像的每个像素点的三个图像质量参数进行测试,结合具体参数进行计算,并得到相应的对比度因子、饱和度因子和亮度权重因子,亮度权重因子来自于曝光参数。然后将三个权重因子结合得到融合权重因子。步骤103可以进一步细化为步骤T1至步骤T5:
在步骤T1中、对低位宽图像的每一帧的每个像素点的对比度进行测试的步骤包括:
对每幅低位宽图像的每个像素点的RGB三个色彩通道的色彩值融合得到亮度参数。在本实施例中,具体地,对不同亮度的多帧低位宽图像YL、YM和YH的每个像素点(i,j)进行对比度测试计算以得到对比度因子C。首先定义R、G、B为YL或者YM或者YH的RGB三个色彩通道。
以YL为例:获得YL的亮度图像参数YLgray,其计算方式是:
YLgray(i,j)=0.2989*R(i,j)+0.5870*G(i,j)+0.1140*B(i,j)。
然后对亮度参数进行拉普拉斯算子卷积处理,得到对比度因子C。在本实施例中,具体地,目标为获得YL的对比度参数YL_C。这里令拉普拉斯算子L_h=[0 1 0;1-4 1;0 1 0],其计算方式是:
YL_C(i,j)=YLgray(i,j)*4+YLgray(i-1,j)+YLgray(i+1,j)+
YLgray(i,j-1)+YLgray(i,j+1)。
在步骤T2中、对每幅低位宽图像的每个像素点的饱和度测试的方法为,计算目标像素点的RGB三个色彩通道的色彩值的标准差,得到饱和度因子。在本实施例中,具体地,目标为获得饱和度因子S。以YL为例,其计算方式是:
mu(i,j)=(R(i,j)+G(i,j)+B(i,j))/3。
在步骤T3中、对每幅低位宽图像的每个像素点的曝光参数测试的方法为,计算目标像素点的RGB三个色彩通道的色彩值与目标曝光度的距离,然后相乘得到与曝光参数对应的亮度权重因子。曝光度有一个目标的理想值,这个理想值根据实际需要可以调节,对于每一个色彩通道,理想的近似值应该避免为0,即曝光不足,或为1,即过度曝光。
在本实施例中,具体地,取0.5为理想值,然后评估每个像素点的每个色彩通道与0.5的距离关系,将它们相乘,获得曝光参数WE对应的亮度权重因子E。以YL为例,δ为偏离因子,这里可以设置为0.2,其计算方式是:
dR(i,j)=-exp((R(i,j)-0.5)2/2σ2)
dG(i,j)=-exp((G(i,j)-0.5)2/σ2)
dB(i,j)=-exp((B(i,j)-0.5)2/2σ2)
YL_WE=dR(i,j)×dB(i,j)×dG(i,j)。
在步骤T4中、对融合权重因子的计算方法为将上述三个权重因子相乘。为了调节三个图像质量参数对最终融合时的权重影响,需要引入比重参数para_C,para_S,para_WE,它们默认值都设置为1。在本实施例中,具体地,以YL为例:
YL_W(i,j)=YL_C(i,j)para_C+YL_S(i,j)para_S+YL_WE(i,j)para_WE。
在步骤T5中、对多帧所述低位宽图像的同一像素点的每一帧的融合权重因子计算完毕后,还需要进行归一化操作,以保证融合后图像亮度的一致性。
在本实施例中,具体地,我们对YH、HM、HL的权重参数进行归一化操作,以YL为例:
在步骤104中、对每幅低位宽图像的每一像素点的像素值和其融合权重因子进行降采样处理,得到多个相同降采样维度的图像,并对相同降采样维度的图像进行权重融合。进一步地,进行权重融合时,需要对每个维度下的每个色彩通道进行单独融合。
在本实施例中,具体地,对YL、YM、YH进行融合得到低位宽HDR图像。首先对YL、YM、YH的像素值和他们的融合权重因子进行降采样处理,这里取间隔1个像素进行降采样,则降采样后的图像尺寸为N/2*M/2。然后对相同降采样维度的图像进行权重融合。
这里取降采样次数为9次,生成9个尺度,以YL为例,有YLk,YL_Wk,YMk,YM_Wk,YHk,YH_Wk,这里的K表示每个尺度,其索引值是自然数0~8,其中0表示原始尺寸,1维度由0维度降采样生成,2维度由1维度降采样生成,以此类推。每个尺度下,对三个亮度图像的每个通道z进行单独融合:Resultk(i,j,z)=YLk(i,j,z)×YL_Wk(i,j)+
YMk(i,j,z)×YM_Wk(i,j)+YHk(i,j,z)×YH_Wk(i,j)
在步骤105中、对相同降采样维度的图像的权重融合结果进行降采样反向操作,生成一帧低位宽的高动态范围图像。进一步地,降采样反向操作的方法为,将高维度图像的权重融合结果放大1倍,结果与相邻低一维度的图像的权重融合结果相加,生成新的该低维度图像的权重融合结果。
在本实施例中,具体地,将8维度放大1倍,结果和7维度图像相加,生成新的7维度图像;新的7维度图像放大1倍,将结果和6维度图像相加,生成新的6维度图像;以此类推。最终融合成一帧高动态范围图像。
上面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。