一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像融合方法及装置、存储介质及电子设备与流程

2023-02-19 03:05:49 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,具体而言,涉及一种图像融合方法及装置、存储介质及电子设备。


背景技术:

2.目前,在手机中普遍通过图像融合算法来改善某些照片的质量,例如夜景照片的质量。这类算法使用采集于不同曝光补偿值下的多帧图像来产生最终的融合图像,然而,基于现有算法得到的融合图像中,普遍存在白色区域显示正常,而高光区域发灰,或者高光区域显示正常,而白色区域发灰的问题,严重影响用户的拍照体验。


技术实现要素:

3.本技术实施例的目的在于提供一种图像融合方法及装置、存储介质及电子设备,以改善上述技术问题。
4.为实现上述目的,本技术提供如下技术方案:
5.第一方面,本技术实施例提供一种图像融合方法,包括:获取多帧第一类图像,各帧第一类图像的曝光补偿值均不同且其中至少两帧第一类图像的曝光补偿值为非正数;计算相邻的每两帧第一类图像之间的第一类权重图像,所述第一类权重图像中的像素值表示图像在进行加权融合时的权重值;计算曝光补偿值为非正数的每帧第一类图像对应的高光图像,所述高光图像中包含对应的第一类图像中的高亮度区域;根据相邻的每两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像;利用所述真实高光图像中的高光区域和/或白色区域修正对应的第一类权重图像中的像素值,获得修正后的第一类权重图像;其中,对所述第一类权重图像中位于高光区域以及白色区域内的像素值采取不同的修正策略;至少利用所述修正后的第一类权重图像对所述多帧第一类图像进行加权融合,获得最终的融合图像。
6.发明人研究发现,图像中的高光区域和白色区域在像素值上往往比较接近,按照目前的融合权重计算方法,在这两类区域中计算出的权重值也比较接近,这样执行图像融合时,这两类区域将被施加类似的融合策略,而在理想情况下,由于高光区域和白色区域的特点并不相同,因此这两类区域所采用的融合策略应当是不同的,从而目前的做法容易导致融合图像中白色区域显示正常,而高光区域发灰,或者高光区域显示正常,而白色区域发灰的问题,即无法兼顾二者的显示效果。
7.在上述方法中,利用包含高光区域和/或白色区域的真实高光图像,对第一类权重图像中位于高光区域和白色区域内的像素值进行修正,并且对高光区域和白色区域内的像素值采用不同的修正策略。从而使得在修正后的第一类权重图像中,高光区域和白色区域内的像素值具有较明显的区别。又由于第一类权重图像中的像素值表示图像在进行加权融合时的权重值,因此利用修正后的第一类权重图像对多帧第一类图像进行加权融合,可以使得图像在高光区域和白色区域内的融合策略存在显著区别(融合策略取决于融合权重),
因此有利于改善融合图像的高光区域或白色区域发灰的问题,提高融合图像的质量。
8.在第一方面的一种实现方式中,所述高光区域为相邻的两帧高光图像中共同包含的高亮度区域,所述白色区域为亮帧高光图像中包含但暗帧高光图像中不包含的高亮度区域;其中,所述亮帧高光图像是指相邻的两帧高光图像中对应的第一类图像的曝光补偿值较大的一帧,所述暗帧高光图像是指相邻的两帧高光图像中对应的第一类图像的曝光补偿值较小的一帧。
9.发明人研究发现,对于相邻且曝光补偿值均为非正数的两帧第一类图像,高光区域在两帧中的亮度都比较高,而白色区域则只在曝光补偿值较大的帧中具有较高的亮度,在曝光补偿值较小的帧中亮度则显著降低。基于此原理,通过计算曝光补偿值为非正数的每帧第一类图像对应的高光图像(其中包含第一类图像中的高亮度区域),并对相邻两帧高光图像中的高亮度区域进行某种意义上的比较计算,就可以确定第一类图像中的真实的高光区域(在相邻两帧高光图像中亮度都比较高的区域)和/或白色区域(只在亮帧高光图像中亮度比较高的、在暗帧高光图像中亮度比较低的区域),进而可以基于高光区域和/或白色区域对第一类权重图像中的像素值进行针对性的修正。
10.在第一方面的一种实现方式中,所述高光图像为二值化图像,图像中取第一数值的像素属于高亮度区域,取第二数值的像素不属于高亮度区域;根据相邻的每两帧高光图像计算一帧包含高光区域的真实高光图像,包括:确定所述亮帧高光图像中由取所述第一数值的像素构成的连通区域;确定所述暗帧高光图像中由取所述第一数值的像素构成的连通区域的质心位置;对于每个质心位置,若其位于所述亮帧高光图像中的一连通区域内,则将所述真实高光图像中与所述亮帧高光图像中的该连通区域对应的区域确定为高光区域。
11.由于连通区域的质心位置可以在一定程度上代表区域的中心,因此若暗帧高光图像中的一个连通区域的质心位置落在亮帧高光图像中的一个连通区域内,就说明暗帧高光图像和亮帧高光图像中的这两个连通区域为它们共同包含的一个高亮度区域,即高光区域。通过此种方式,可以快速、准确地确定真实高光图像中的高光区域。
12.在第一方面的一种实现方式中,所述高光图像为二值化图像,图像中取第一数值的像素属于高亮度区域,取第二数值的像素不属于高亮度区域;根据相邻的每两帧高光图像确定一帧包含高光区域的真实高光图像,包括:确定所述亮帧高光图像中由取所述第一数值的像素构成的连通区域;确定所述暗帧高光图像中由取所述第一数值的像素构成的连通区域;对于所述暗帧高光图像中的每个连通区域,若所述亮帧高光图像中存在与其重叠程度超过第一阈值的连通区域,则将所述真实高光图像中与所述亮帧高光图像中的该连通区域对应的区域确定为高光区域。
13.若亮帧高光图像中的一个连通区域和暗帧高光图像中的一个连通区域重叠程度较高(大于第一阈值),就说明暗帧高光图像和亮帧高光图像中的这两个连通区域为它们共同包含的一个高亮度区域,即高光区域。通过此种方式,可以快速、准确地确定真实高光图像中的高光区域。
14.在第一方面的一种实现方式中,所述高光图像为二值化图像,图像中取第一数值的像素属于高亮度区域,取第二数值的像素不属于高亮度区域;根据相邻的每两帧高光图像计算一帧包含白色区域的真实高光图像,包括:确定所述亮帧高光图像中由取所述第一数值的像素构成的连通区域;确定所述暗帧高光图像中由取所述第一数值的像素构成的连
通区域的质心位置;对于所述亮帧高光图像中的每个连通区域,若所述暗帧高光图像中的任一质心位置均位于其外,则将所述真实高光图像中与所述亮帧高光图像中的该连通区域对应的区域确定为白色区域。
15.由于连通区域的质心位置可以在一定程度上代表区域的中心,因此对于亮帧高光图像中的一个连通区域,若没有任何暗帧高光图像中的连通区域的质心落入其中,表明该连通区域仅仅是亮帧高光图像包含的一个高亮度区域,而并非暗帧高光图像包含的一个高亮度区域,即白色区域。通过此种方式,可以快速、准确地确定真实高光图像中的白色区域。
16.在第一方面的一种实现方式中,所述高光图像为二值化图像,图像中取第一数值的像素属于高亮度区域,取第二数值的像素不属于高亮度区域;根据相邻的每两帧高光图像计算一帧包含白色区域的真实高光图像,包括:确定亮帧高光图像中由取所述第一数值的像素构成的连通区域;确定暗帧高光图像中由取所述第一数值的像素构成的连通区域;对于所述亮帧高光图像中的每个连通区域,若所述暗帧高光图像中的任一连通域与其重叠程度均未超过第二阈值,则将所述真实高光图像中与所述亮帧高光图像中的该连通区域对应的区域确定为白色区域。
17.若亮帧高光图像中的一个连通区域和暗帧高光图像中任一连通区域重叠程度均不高(不大于第二阈值),表明该连通区域仅仅是亮帧高光图像包含的一个高亮度区域,而并非暗帧高光图像包含的一个高亮度区域,即白色区域。通过此种方式,可以快速、准确地确定真实高光图像中的白色区域。
18.在第一方面的一种实现方式中,每帧第一类权重图像用于融合两帧待融合图像,所述待融合图像为所述第一类图像,或者,至少两帧第一类图像加权融合后得到的融合图像,所述第一类权重图像中的像素值表示暗帧待融合图像在进行加权融合时的权重值,所述暗帧待融合图像为所述两帧待融合图像中曝光补偿值较小的一帧;所述利用所述真实高光图像中的高光区域和/或白色区域修正对应的第一类权重图像中的像素值,包括:增大所述第一类权重图像中位于高光区域内的像素值,和/或,减小所述第一类权重图像中位于白色区域内的像素值。
19.若第一类权重图像中的像素值表示暗帧待融合图像在进行加权融合时的权重值,则增大第一类权重图像中位于高光区域内的像素值,能够提高暗帧待融合图像在融合结果中的高光区域内的占比,由于暗帧待融合图像在高光区域中包含更多的细节信息,从而此举有利于改善融合图像在高光区域内的图像质量。
20.减小第一类权重图像中位于白色区域内的像素值,则能够降低暗帧待融合图像在融合结果中的白色区域内的占比(相对地,提高了亮帧待融合图像在融合图像中的白色区域内的占比),由于亮帧待融合图像在白色区域中包含更多的细节信息,从而此举有利于改善融合图像在白色区域内的图像质量。
21.在第一方面的一种实现方式中,增大所述第一类权重图像中位于高光区域内的像素值,或,减小所述第一类权重图像中位于白色区域内的像素值,包括:增大所述第一类权重图像中位于高光区域内的像素值,并减小所述第一类权重图像中位于高光区域外的像素值,或,减小所述第一类权重图像中位于白色区域内的像素值,并增大所述第一类权重图像中位于白色区域外的像素值。
22.若第一类权重图像中的像素值表示暗帧待融合图像在进行加权融合时的权重值,
则减小第一类权重图像中位于高光区域外的像素值,必然也减小了白色区域中的像素值(白色区域处于高光区域以外),从而能够降低暗帧待融合图像在融合结果中的白色区域内的占比,有利于改善融合图像在白色区域内的图像质量。另外,由于同时也增大了第一类权重图像中位于高光区域内的像素值,因此确保了对第一类权重图像中位于高光区域和白色区域内的像素值采取的修正策略是不同的(前者增大、后者减小)。
23.而增大第一类权重图像中位于白色区域外的像素值,必然也增大了高光区域中的像素值(高光区域处于白色区域以外),从而能够提高暗帧待融合图像在融合结果中的高光区域内的占比,有利于改善融合图像在高光区域内的图像质量。另外,由于同时也减小了第一类权重图像中位于白色区域内的像素值,因此确保了对第一类权重图像中位于高光区域和白色区域内的像素值采取的修正策略是不同的(前者增大、后者减小)。
24.在第一方面的一种实现方式中,增大所述第一类权重图像中位于高光区域内的像素值,和,减小所述第一类权重图像中位于白色区域内的像素值,包括:增大所述第一类权重图像中位于高光区域内的像素值,和,减小所述第一类权重图像中位于白色区域内的像素值,和,维持所述第一类权重图像中位于高光区域以及白色区域外的像素值。
25.若第一类权重图像中的像素值表示暗帧待融合图像在进行加权融合时的权重值,则增大第一类权重图像中位于高光区域内的像素值,能够提高暗帧待融合图像在融合结果中的高光区域内的占比,而减小第一类权重图像中位于白色区域内的像素值,则能够降低暗帧待融合图像在融合结果中的白色区域内的占比,并且,在上述实现方式中,还维持了第一类权重图像中位于高光区域以及白色区域外的像素值不变,从而既有利于改善融合图像在高光区域和白色区域内的图像质量,又不至于降低融合图像在其他区域内的图像质量,进而可以省略或简化针对融合图像的后处理步骤。
26.在第一方面的一种实现方式中,在所述根据相邻的每两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像之后,以及在所述利用所述真实高光图像中的高光区域和/或白色区域修正对应的第一类权重图像中的像素值之前,所述方法还包括:对所述真实高光图像进行平滑滤波。
27.在上述实现方式中,对真实高光图像进行平滑滤波,有利于弱化或消除图像中的噪声,进而有利于提高后续得到的融合图像的质量。
28.在第一方面的一种实现方式中,所述多帧第一类图像的曝光补偿值均为非正数,所述至少利用所述修正后的第一类权重图像对所述多帧第一类图像进行加权融合,获得最终的融合图像,包括:将对应的曝光补偿值最大或最小的一帧第一类图像作为当前一帧第一类图像以及最初的融合图像,按照对应的曝光补偿值渐变的顺序,依次利用当前一帧修正后的第一类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,获得新的融合图像,直至在下一帧第一类图像是最后一帧第一类图像时,获得最终的融合图像;其中,当前一帧修正后的第一类权重图像是指当前一帧第一类图像与下一帧第一类图像之间的、修正后的第一类权重图像。
29.在上述实现方式给出的融合过程中,待融合图像的曝光补偿值是渐变的而非跳变的,因此得到的最终融合结果具有较高的图像质量。
30.在第一方面的一种实现方式中,所述多帧第一类图像中的至少一帧曝光补偿值为正数,所述至少利用所述修正后的第一类权重图像对所述多帧第一类图像进行加权融合,
获得最终的融合图像,包括:利用以下两种图像对所述多帧第一类图像进行加权融合,获得最终的融合图像:相邻且曝光补偿值至少有一个为正数的每两帧第一类图像之间的所述第一类权重图像;相邻且曝光补偿值均为非正数的每两帧第一类图像之间的所述修正后的第一类权重图像。
31.上述实现方式在获得融合图像的过程中,不仅使用了曝光补偿值为非正数的第一类图像,还使用了曝光补偿值为正数的第一类图像,由于使用了更多曝光补偿值下的图像,因此有利于改善融合图像的质量。例如,对于一些较暗的场景,相较于曝光补偿值为非正数的第一类图像,曝光补偿值为正数的第一类图像中可能包含更多有价值的细节信息。
32.在第一方面的一种实现方式中,所述多帧第一类图像中的一帧曝光补偿值为0。
33.在曝光补偿值为0的图像中,大部分区域都包含有较丰富的细节信息,因此,若出于图像融合目的,在获取多帧第一类图像时可以获取一帧曝光补偿值为0的图像。
34.第二方面,本技术实施例提供一种图像融合方法,包括:获取多帧第一类图像,各帧第一类图像的曝光补偿值均不同且其中至少两帧第一类图像的曝光补偿值为非正数;将对应的曝光补偿值最大或最小的一帧第一类图像作为当前一帧第一类图像以及最初的融合图像,按照对应的曝光补偿值渐变的顺序,依次执行以下融合步骤获得新的融合图像,直至在下一帧第一类图像是最后一帧第一类图像时,获得最终的融合图像,所述融合步骤包括:计算当前的融合图像和下一帧第一类图像之间的第二类权重图像,所述第二类权重图像中的像素值表示图像在进行加权融合时的权重值;若当前一帧第一类图像和下一帧第一类图像的曝光补偿值至少有一个为正数,则利用所述第二类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合图像;若当前一帧第一类图像和下一帧第一类图像的曝光补偿值均为非正数,则执行以下操作:分别计算当前的融合图像和下一帧第一类图像对应的高光图像,获得的两帧高光图像中分别包含对应的当前的融合图像和下一帧第一类图像中的高亮度区域;根据所述两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像;利用所述真实高光图像中的高光区域和/或白色区域修正对应的第二类权重图像中的像素值,获得修正后的第二类权重图像第二类权重图像第二类权重图像;利用所述修正后的第二类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合图像。
35.第二方面提供的方法与第一方面提供的方法在原理和有益效果上都是类似的,只是二者在图像的融合方式上有所区别。对于第二方面提供的方法,由于第二类权重图像的计算来源和其用于融合的对象是相同的(都是当前的融合图像和下一帧第一类图像),所以最终可能会得到质量较好的融合图像。
36.第三方面,本技术实施例提供一种图像融合装置,包括:第一图像获取模块,用于获取多帧第一类图像,各帧第一类图像的曝光补偿值均不同且其中至少两帧第一类图像的曝光补偿值为非正数;权重图像计算模块,用于计算相邻的每两帧第一类图像之间的第一类权重图像,所述第一类权重图像中的像素值表示图像在进行加权融合时的权重值;高光图像计算模块,用于计算曝光补偿值为非正数的每帧第一类图像对应的高光图像,所述高光图像中包含对应的第一类图像中的高亮度区域;真实高光图像计算模块,用于根据相邻的每两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像;权重图像修正模块,用于利用所述真实高光图像中的高光区域和/或白色区域修正对应的第一类权重图
像中的像素值值,获得修正后的第一类权重图像;其中,对所述第一类权重图像中位于对应的高光区域以及对应的白色区域内的像素值采取不同的修正策略;第一图像融合模块,用于至少利用所述修正后的第一类权重图像对所述多帧第一类图像进行加权融合,获得最终的融合图像。
37.第四方面,本技术实施例提供一种图像融合装置,包括:第二图像获取模块,用于获取多帧第一类图像,各帧第一类图像的曝光补偿值均不同且其中至少两帧第一类图像的曝光补偿值为非正数;第二图像融合模块,用于将对应的曝光补偿值最大或最小的一帧第一类图像作为当前一帧第一类图像以及最初的融合图像,按照对应的曝光补偿值渐变的顺序,依次执行以下融合步骤获得新的融合图像,直至在下一帧第一类图像是最后一帧第一类图像时,获得最终的融合图像,所述融合步骤包括:计算当前的融合图像和下一帧第一类图像之间的第二类权重图像,所述第二类权重图像中的像素值表示图像在进行加权融合时的权重值;若当前一帧第一类图像和下一帧第一类图像的曝光补偿值至少有一个为正数,则利用所述第二类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合图像;若当前一帧第一类图像和下一帧第一类图像的曝光补偿值均为非正数,则执行以下操作:分别计算当前的融合图像和下一帧第一类图像对应的高光图像,获得的两帧高光图像中分别包含对应的当前的融合图像和下一帧第一类图像中的高亮度区域;根据所述两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像;利用所述真实高光图像中的高光区域和/或白色区域修正对应的第二类权重图像中的像素值,获得修正后的第二类权重图像;利用所述修正后的第二类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合图像。
38.第五方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面、第二方面或这两方面的任意一种可能的实现方式提供的方法。
39.第六方面,本技术实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面、第二方面或这两方面的任意一种可能的实现方式提供的方法。
附图说明
40.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
41.图1示出了针对同一场景应用本技术实施例提供的图像融合方法前后得到的融合图像;
42.图2示出了本技术实施例提供的第一种图像融合方法的流程;
43.图3示出了本技术实施例提供的第二种图像融合方法的流程;
44.图4示出了本技术实施例提供的第一种图像融合装置的结构;
45.图5示出了本技术实施例提供的第二种图像融合装置的结构;
46.图6示出了本技术实施例提供的一种电子设备的结构。
具体实施方式
47.现有的图像融合算法使用采集于不同曝光补偿值下的多帧图像来计算融合权重,并利用融合权重计算最终的融合图像,然而,得到的融合图像中,普遍存在白色区域显示正常,而高光区域发灰,或者高光区域显示正常,而白色区域发灰的问题,难以兼顾两类区域的显示效果。
48.发明人经长期研究后,发现造成此问题的原因在于:
49.现有的图像融合算法往往采取不同的融合策略处理图像中的不同区域,例如,高光区域更多地融合曝光补偿值为负的图像中的像素信息,而非高光区域则更多地融合曝光补偿值为0的图像中的像素信息,这样可以使得高光区域和非高光区域在融合图像中都能够保留较为丰富的细节。
50.然而,由于图像中的高光区域和白色区域在像素值上常常比较接近,按照目前的融合权重计算方法,计算出的两类区域中的权重值也比较接近,这样执行图像融合时,两类区域将被施加类似的融合策略(融合策略取决于融合权重),导致融合图像的质量不佳。例如,为了让白色区域显示正常,需要更多地融合曝光补偿值为0的图像中的像素信息,此时就会造成融合图像中的高光区域发灰;为了让高光区域显示正常,需要更多地融合曝光补偿值为负的图像中的像素信息,此时就会造成融合图像中的白色区域发灰。
51.针对上述问题,本技术实施例提供的图像融合方法通过差异化图像中高光区域和白色区域的融合权重,以改善融合图像中高光区域或白色区域发灰的问题,该方法的详细步骤将在后文阐述。
52.图1示出了针对同一场景应用本技术实施例提供的图像融合方法前后得到的融合图像,其中,左侧为应用现有的图像融合方法得到的融合图像,右侧为应用本技术实施例提供的图像融合方法得到的融合图像。不难看出,在左侧的融合图像中,人物的白色衬衫(下方黑框)正常显示,而发光的广告牌(上方黑框)和建筑物内的灯光场景(中间黑框)均发灰;在右侧的融合图像中,人物的白色衬衫正常显示,发光的广告牌和建筑物内的灯光场景也正常显示,发灰状况明显改善。
53.需要指出,除该方法本身以外,上述对图像中高光区域或白色区域发灰的原因分析,也是发明人在研究过程中所得到的结论,而非现有技术中已经存在的结果,因此也应视为发明人针对本发明所作出的贡献。
54.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
55.术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
56.术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
57.图2示出了本技术实施例提供的第一种图像融合方法的流程。该方法可以但不限于由一电子设备执行,图6示出了该电子设备的一种可能的结构,详见后文对于图6的阐述。参照图2,该方法包括:
58.步骤s110:获取多帧第一类图像。
59.在具体介绍步骤s110之前,首先介绍一下曝光补偿和曝光补偿值的概念。
60.曝光补偿是一种曝光控制方式:通过有意地改变摄像头自动演算出的曝光参数(如光圈、快门),使得摄像头的曝光量发生变化,从而让拍摄出的照片更加明亮或者更加昏暗。
61.曝光补偿值可视为对曝光补偿力度的一种量化表示,曝光补偿值的取值范围可以是一个以0为中心的区间,例如[-2,2]、[-3,3]等。曝光补偿值取0表示采用摄像头自动确定的曝光量进行拍摄,曝光补偿值取正数表示(相对于曝光补偿值取0)在增大曝光量的情况下进行拍摄,曝光补偿值取负数表示(相对于曝光补偿值取0)在减小曝光量的情况下进行拍摄,曝光补偿值的绝对值越大,曝光量增大或者减小的程度也越大。在一些现有设备中,曝光补偿值采用间隔取值,例如在[-2,2]中以1为间隔,可以得到ev-2、ev-1、ev0、ev 1、ev 2共5档曝光补偿值,相邻的曝光补偿值之间相差1ev,表示曝光量相差一倍,例如ev 1相对于ev0曝光量增大了一倍,在一些实现方式中,也可以采用1/2、1/3作为相邻曝光补偿值之间的间隔。
[0062]
步骤s110中的多帧第一类图像的曝光补偿值均不同,且其中至少至少有两帧第一类图像的曝光补偿值为非正数,当然其中也可能包括曝光补偿值为正数的第一类图像。第一类图像可以是摄像头采集的原始图像,也可以是对摄像头采集的原始图像预处理后得到的图像。可以理解的,由于多帧第一类图像用于图像融合,因此这些图像应采集于同一场景下,并且可以是在较短的时间内连续采集的。
[0063]
比如,可以获取ev-1和ev-2下的两帧第一类图像;又比如,可以获取ev0、ev-1和ev-2下的三帧第一类图像;又比如,可以获取ev 1/2、ev0和ev-1/2下的三帧第一类图像。发明人研究发现,在曝光补偿值为0的图像中,大部分区域都包含有较丰富的细节信息,因此,若出于图像融合目的,在获取多帧第一类图像时可以获取一帧曝光补偿值为0的图像。在后文中阐述图像融合方法的步骤时,也主要以步骤s110中获取了ev0、ev-1和ev-2下的三帧第一类图像为例,不妨将其分别记为i1、i2以及i3。
[0064]
上面提到,步骤s110中的第一类图像可以是预处理之后的,可能的预处理操作包括图像融合、图像配准等操作中的一项或多项。其中,预处理中的图像融合是指同一曝光补偿值下的多帧图像融合,主要起降噪作用,而本技术实施例提出的图像融合方法则是一种跨曝光补偿值的融合方法,不可将二者混为一谈。预处理中的图像配准是指将不同的图像通过一定的变换进行对齐(对齐后不同的图像中相同的对象可重叠在一起),配准后的图像在进行融合等操作时效果更佳。
[0065]
例如,摄像头在ev0、ev-1和ev-2下分别采集5帧、1帧、1帧原始图像,可按照如下的方式进行预处理:
[0066]
(1)相同曝光补偿值下的图像配准,即对ev0下的5帧原始图像进行配准;
[0067]
(2)相同曝光补偿值下的图像融合,即对(1)中得到的ev0下的5帧图像进行融合,融合后ev0、ev-1、ev-2下各有一帧图像;
[0068]
(3)跨曝光补偿值的图像配准,即对(2)中得到的三帧图像进行配准,配准后ev0、ev-1、ev-2下各有一帧图像,即步骤s110中所要获取的三帧第一类图像。
[0069]
步骤s120:计算相邻的每两帧第一类图像之间的第一类权重图像。
[0070]
其中,两帧第一类图像相邻是指其对应的曝光补偿值相邻,例如,i1和i2是相邻的,i2和i3是相邻的,但i1和i3不是相邻的。
[0071]
第一类权重图像中的像素值表示图像在进行加权融合时使用的权重值。不妨将要进行加权融合的图像(详见步骤s160)称为待融合图像,每帧第一类权重图像可用于融合两帧待融合图像。注意,由于第一类权重图像是由相邻的两帧第一类图像计算出来的,所以其中的像素值,从原始意义上来说,表示的是这两帧第一类图像在进行加权融合时使用的权重值,但实际上,第一类权重图像在后续步骤中并不一定用于融合作为其计算来源的、相邻的两帧第一类图像,即上面所谓的两帧待融合图像并不一定是相邻的两帧第一类图像,根据后文的步骤s160可知,待融合图像可以是第一类图像,或者,也可以是至少两帧第一类图像加权融合后得到的融合图像,这里先不作具体阐述。
[0072]
第一类权重图像的尺寸和待融合图像相同,也和第一类图像相同。图像中的任一像素位置x处的像素值记为ω(x),ω(x)表示两帧待融合图像在像素位置x处的像素值进行加权融合时使用的权重值,由于两帧待融合图像进行加权融合涉及两个权重值,所以ω(x)可以只表示其中一个权重值,另一个权重值则可根据ω(x)进行计算。例如,在一些实现方式中,两帧待融合图像在同一像素位置处的权重值之和为固定值(后文简称为融合权重的互补性),从而知道了其中一个权重值ω(x)就可以计算另一个权重值。
[0073]
ω(x)具有一定的取值范围,如[0,255]、[0,1]等,以[0,255]为例,两帧待融合图像中的像素值在加权融合时,若其中的一个权重值取ω(x),则另一个的权重值可取255-ω(x),即两帧待融合图像在同一像素位置x处的权重值之和为255。
[0074]
ω(x)的计算方法可以参考现有技术,下面也给出ω(x)的一种计算公式。显然,由于x可表示第一类权重图像中的任一像素位置,所以通过该公式可以计算第一类权重图像:
[0075][0076]
其中,c(x)表示像素位置x处的对比度,s(x)表示像素位置x处的饱和度,e(x)表示像素位置x处的曝光度,ωc、ωs、ωe是三个常数,分别用于调节对比度、饱和度、曝光度在权重值中的占比。需要指出,相邻的两帧第一类图像中的任何一帧都可以计算对比度、饱和度以及曝光度,也就是说按照上述公式计算ω(x)其实只需要使用相邻的两帧第一类图像中的一帧即可。c(x)、s(x)、e(x)的具体计算公式如下:
[0077][0078]
其中
[0079]
其中μe=0.5,σe=0.2
[0080]
其中,i表示参与计算权重值的第一类图像,r、g、b表示i的三个颜色通道,i(x)表示i对应的灰度图像在像素位置x处的灰度值,ij(x)表示i在像素位置x处的j通道上的颜色值,μ(x)表示i在像素位置x处的三个颜色值均值,μe和σe分别表示曝光度的均值和方差,根
据需求取常数,如上面的0.5和0.2。
[0081]
例如,在步骤s120中,根据i1和i2可以计算出一帧第一类权重图像(注意,根据前文可知,某些算法可能需要同时使用i1和i2才能计算第一类权重图像,另一些算法则可能只需使用i1和i2中的一帧即可计算第一类权重图像,但这里为了简单起见,还是表述成根据i1和i2计算第一类权重图像),不妨记为m1,根据i2和i3可以计算出一帧第一类权重图像,不妨记为m2。
[0082]
步骤s130:计算曝光补偿值为非正数的每帧第一类图像对应的高光图像。
[0083]
其中,高光图像中包含对应的第一类图像中的高亮度区域。在一些实现方式中,高光图像可以为二值化图像,图像中的像素只能取第一数值(如255)或第二数值(如0),像素取第一数值表示其属于高亮度区域,取第二数值的表示其不属于高亮度区域,从而通过取第一数值的像素的位置就可以确定高光图像中高亮度区域的位置。
[0084]
为得到对应的高光图像,可针对第一类图像设置二值化阈值,对第一类图像中的每个像素,若其取值大于该阈值,则将高光图像中对应像素的取值设置为第一数值,否则设置为第二数值;其中,像素的亮度和像素值是正相关关系,像素值越大,表明该像素的亮度也越大。若第一类图像为rgb图像,也可以将先其转化为灰度图像后再将其像素值与阈值进行比较。对于不同的第一类图像设置的阈值可以相同也可以不同,例如,在一种实现方式中,该阈值可以随着第一类图像的曝光补偿值的减小而减小。
[0085]
可以理解的,高光图像中只要能记录高亮度区域的位置即可,其形式上不一定要是二值化图像,但后文中为简单起见,主要以高光图像是二值化图像的情况为例。
[0086]
例如,对于i1、i2和i3,在步骤s130中,可以计算出三帧对应的高光图像,不妨记为h1、h2、h3。步骤s140:根据相邻的每两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像。
[0087]
其中,两帧高光图像相邻是指其对应的第一类图像相邻,而第一类图像的相邻在上面已经定义。例如,高光图像h1和h2是相邻的,高光图像h2和h3是相邻的。
[0088]
根据步骤s130可知,高光图像中包含对应的第一类图像中的高亮度区域,步骤s140中的高光区域和白色区域在概念上与高亮度区域不同,高光区域和白色区域分别对应拍摄场景中的高光物体和白色物体,而高亮度区域则仅仅是由第一类图像中亮度比较高的像素聚集而成的区域。但由于高光物体和白色物体反映到图像上,其亮度通常比周围的物体要高,所以可以认为高亮度区域中既包含了高光区域,也包含了白色区域。当然,如果真实场景中本来就没有高光物体或白色物体,那么高亮度区域也可能只包含高光区域或白色区域。
[0089]
由于各帧第一类图像的曝光补偿值不同,所以各帧高光图像中高亮度区域的数量和范围都可能存在不同,利用不同帧高光图像之间的这种差异性,结合高光区域以及白色区域自身的特点,可以进一步确定哪些高亮度区域属于高光区域,哪些高亮度区域属于白色区域。
[0090]
例如,发明人研究发现如下原理:对于曝光补偿值均为非正数的至少两帧第一类图像,拍摄场景中真正的高光区域在各帧中的亮度都比较高,而拍摄场景中真正的白色区域则只在曝光补偿值较大的帧中具有较高的亮度,在曝光补偿值较小的帧中亮度则显著降低,且随着曝光补偿值的减小其亮度快速降低。例如,高光区域在i1、i2和i3中亮度都比较
高,而白色区域在i1中亮度比较高,在i2中亮度则比较低,在i3中亮度则更低。
[0091]
基于此原理,可将相邻的两帧高光图像中共同包含的高亮度区域确定为拍摄场景中的高光区域,而将亮帧高光图像中包含但暗帧高光图像中不包含的高亮度区域确定为拍摄场景中的白色区域。其中,亮帧高光图像是指相邻的两帧高光图像中对应的第一类图像的曝光补偿值较大的一帧,暗帧高光图像是指相邻的两帧高光图像中对应的第一类图像的曝光补偿值较小的一帧,比如,对于h1和h2两帧高光图像而言,h1就是亮帧高光图像,而h2就是暗帧高光图像。
[0092]
需要注意,上面对高光区域和白色区域的计算都是基于两帧相邻的高光图像而言的,因为两帧相邻的高光图像的曝光补偿值跨度不大,所以此种计算方式的可行性较高,而如果在更多帧高光图像上计算高光区域和白色区域,则可能会跨多档曝光补偿值,造成计算结果准确性较低,实用价值不高。
[0093]
步骤s140中的真实高光图像为包含高光区域和/或白色区域的图像,即作为高光区域和/或白色区域的位置信息的载体。至于真实高光图像中到底要包含高光区域的位置信息还是白色区域的位置信息是根据需求决定的:例如,如果步骤s150中要针对高光区域中的像素值进行修正,则步骤s140计算出的真实高光图像中至少要包含高光区域的位置信息;如果步骤s150中要针对白色区域中的像素值进行修正,则步骤s140计算出的真实高光图像中至少要包含白色区域的位置信息;如果步骤s150中要针对高光区域和白色区域中的像素值进行修正,则步骤s140计算出的真实高光图像中至少要包含高光区域和白色区域的位置信息。
[0094]
如果真实高光图像中只包含高光区域,则其可以是二值化图像,例如,图像中的像素只能取第一数值(如255)或第二数值(如0),像素取第一数值表示其属于高光区域,取第二数值的表示其不属于高光区域。类似的,如果真实高光图像中只包含白色区域,则其也可以是二值化图像;而如果真实高光图像中包含高光区域和白色区域,则其可以是三值化图像,或者采用更复杂的形式(见后文例子)。
[0095]
由于在步骤s130中已经得到了曝光补偿值为非正数第一类图像对应的高光图像,结合上面对高光区域和白色区域的定义,可以计算真实高光图像(至少可以计算出一帧,因为至少包含两帧曝光补偿值为非正数的第一类图像)。例如,根据高光图像h1和h2可以计算出一帧真实高光图像,记作rh1;根据高光图像h2和h3可以计算出一帧真实高光图像,记作rh2。
[0096]
如果高光图像为二值化图像(像素值取第一数值或第二数值),且真实高光图像中只包含高光区域,下面列举两种计算相邻的两帧高光图像对应的真实高光图像的方式:
[0097]
方式a
[0098]
步骤a1:确定亮帧高光图像中由取第一数值的像素构成的连通区域。
[0099]
步骤a2:确定暗帧高光图像中由取第一数值的像素构成的连通区域的质心位置。
[0100]
在步骤a2中,可以先确定暗帧高光图像中由取第一数值的像素构成的连通区域,然后再针对每个连通区域计算质心。在步骤a1和a2中,由于高光图像都是二值化图像,所以计算图像中的连通区域是容易的,每个连通区域都代表对应的第一类图像中的一个高亮度区域。
[0101]
步骤a3:对于步骤a2中得到的每个质心位置,判断其是否位于亮帧高光图像中的
一连通区域内,若位于亮帧高光图像中的一连通区域内,则将真实高光图像中与亮帧高光图像中的该连通区域对应的区域确定一个高光区域。
[0102]
由于连通区域的质心位置可以在一定程度上代表区域的中心,因此若暗帧高光图像中的一个连通区域的质心位置落在亮帧高光图像中的一个连通区域内,就说明暗帧高光图像和亮帧高光图像中的这两个连通区域为它们共同包含的一个高亮度区域,即高光区域。通过此种方式,可以快速、准确地确定真实高光图像中的高光区域。
[0103]
高光区域既可以取这两个连通区域中属于亮帧高光图像的区域,也可以取这两个连通区域中属于暗帧高光图像的区域,或者还可以取这两个区域的并集,但在步骤a3中选择了取这两个连通区域中属于亮帧高光图像的区域。
[0104]
注意,严格来说,高光区域记录在真实高光图像中,而非亮帧高光图像中,因此上面说高光区域可以取亮帧高光图像中的连通区域,应当理解为将亮帧高光图像中的连通区域作为高光区域,其位置信息记录在真实高光图像中。后文类似之处不再重复阐述。
[0105]
若真实高光图像采用二值化图像表示,确定了高光区域之后,可在真实高光图像中将高光区域中的像素设置为第一数值,待确定了所有的高光区域后,可将真实高光图像中不属于高光区域的像素设置为第二数值,这样真实高光图像中所有像素的取值都已被设置好。
[0106]
可选的,真实高光图像可以是单独创建的一帧图像,或者,可以直接将亮帧高光图像作为真实高光图像,因为亮帧高光图像在步骤s140之后也不再使用。假设采用后一种方式,若步骤a3中确定了亮帧高光图像中的一个连通区域为高光区域,则可维持亮帧高光图像在该区域中的像素取值不变,待确定了所有的高光区域后,对于亮帧高光图像中不属于高光区域的那些连通区域,可将其中的像素设置为第二数值,这样,亮帧高光图像就转化为真实高光图像了。
[0107]
方式b
[0108]
步骤b1:确定亮帧高光图像中由取第一数值的像素构成的连通区域。
[0109]
步骤b2:确定暗帧高光图像中由取第一数值的像素构成的连通区域。
[0110]
在步骤b1和b2中,由于高光图像都是二值化图像,所以计算图像中的连通区域是容易的,每个连通区域都代表对应的第一类图像中的一个高亮度区域。
[0111]
步骤b3:对于暗帧高光图像中的每个连通区域,判断亮帧高光图像的全部连通区域中是否存在与其重叠程度超过第一阈值的连通区域,若亮帧高光图像中存在与其重叠程度超过第一阈值的连通区域,则将真实高光图像中与亮帧高光图像中的该连通区域对应的区域确定一个高光区域。
[0112]
步骤b3中的重叠程度可以采取不同的定义方式:例如,在一种定义方式中,重叠程度是指连通区域的重叠部分在暗帧高光图像的连通区域中的面积占比;又例如,在另一种定义方式中,重叠程度可以定义为两个连通区域的交并比(intersection-over-union,简称iou)。
[0113]
若亮帧高光图像中的一个连通区域和暗帧高光图像中的一个连通区域内重叠程度较高(大于第一阈值),就说明暗帧高光图像和亮帧高光图像中的这两个连通区域为它们共同包含的一个高亮度区域,即高光区域。通过此种方式,可以快速、准确地确定真实高光图像中的高光区域。
[0114]
高光区域既可以取这两个连通区域中属于亮帧高光图像的区域,也可以取这两个连通区域中属于暗帧高光图像的区域,或者还可以取这两个区域的并集,但在步骤b3中选择了取这两个连通区域中属于亮帧高光图像的区域。
[0115]
关于确定了高光区域以后如何进一步得到真实高光图像,可参照方式a,这里不再重复阐述。
[0116]
可以理解,确定真实高光图像中的高光区域还存在其他方式,例如,首先确定亮帧高光图像中由取第一数值的像素构成的连通区域的质心;然后,确定暗帧高光图像中由取第一数值的像素构成的连通区域;最后,对于得到的每个质心位置,判断其是否位于暗帧高光图像中的一连通区域内,若位于暗帧高光图像中的一连通区域内,则将真实高光图像中与亮帧高光图像中具有该质心的连通区域对应的区域一个高光区域。不难看出,此计算方式和方式a类似,但发明人研究发现,在亮帧高光图像中,高亮度区域范围一般较大,或者说不同的高亮度区域在亮帧高光图像中容易存在重叠,所以可能导致计算出来的质心位置不太准确,因此采用方式a计算真实高光图像效果较佳。
[0117]
如果高光图像为二值化图像(像素值取第一数值或第二数值),且真实高光图像中只包含白色区域,下面列举两种计算相邻的两帧高光图像对应的真实高光图像的方式:
[0118]
方式c
[0119]
步骤c1:确定亮帧高光图像中由取第一数值的像素构成的连通区域。
[0120]
步骤c2:确定暗帧高光图像中由取第一数值的像素构成的连通区域的质心位置。
[0121]
步骤c3:对于亮帧高光图像中的每个连通区域,判断是否有步骤a2中得到的质心位置位于其内,若没有任何质心位置位于其内,则将真实高光图像中与亮帧高光图像中的该连通区域对应的区域确定一个白色区域。
[0122]
由于连通区域的质心位置可以在一定程度上代表区域的中心,因此对于亮帧高光图像中的一个连通区域,若没有任何暗帧高光图像中的连通区域的质心落入其中,表明该连通区域仅仅是亮帧高光图像包含的一个高亮度区域,而并非暗帧高光图像包含的一个高亮度区域,即白色区域。通过此种方式,可以快速、准确地确定真实高光图像中的白色区域。
[0123]
关于白色区域的选择还存在其他方式,可以参考方式a中对于高光区域的选择。关于确定了白色区域以后如何进一步得到真实高光图像,也可以可参照方式a,这里不再重复阐述。
[0124]
方式d
[0125]
步骤d1:确定亮帧高光图像中由取第一数值的像素构成的连通区域。
[0126]
步骤d2:确定暗帧高光图像中由取第一数值的像素构成的连通区域。
[0127]
步骤d3:对于亮帧高光图像中的每个连通区域,判断是否有暗帧高光图像的连通区域与其重叠程度超过第二阈值,若暗帧高光图像中没有连通区域与其重叠程度超过第二阈值,则将真实高光图像中与亮帧高光图像中的该连通区域对应的区域确定为一个白色区域。
[0128]
若亮帧高光图像中的一个连通区域和暗帧高光图像中任一连通区域重叠程度都不高(不大于第二阈值),表明该连通区域仅仅是亮帧高光图像包含的一个高亮度区域,而并非暗帧高光图像包含的一个高亮度区域,即白色区域。通过此种方式,可以快速、准确地确定真实高光图像中的白色区域。
[0129]
关于白色区域的选择还存在其他方式,可以参考方式a中对于高光区域的选择。关于确定了白色区域以后如何进一步得到真实高光图像,也可以可参照方式a,这里不再重复阐述。
[0130]
如果高光图像为二值化图像,且真实高光图像中既包含高光区域,又包含白色区域,则可以从方式a、b中选择一种确定高光区域,从方式c、d中选择一种确定白色区域。但需注意,重复的步骤不必多次执行,例如选择了方式a和c,由于a1、a2和c1、c2是相同的,所以不必重复执行。可选的,如果认为高光区域和白色区域具有互补性,即一个高亮度区域要么是高光区域,要么是白色区域,也可以先确定作为高光区域的全部高亮度区域(例如,在亮帧高光图像中),然后将剩余的高亮度区域全部作为白色区域,或者,也可以先确定作为白色区域的全部高亮度区域(例如,在亮帧高光图像中),然后将剩余的高亮度区域全部作为高光区域。
[0131]
步骤s150:利用真实高光图像中的高光区域和/或白色区域修正对应的第一类权重图像中的像素值,获得修正后的第一类权重图像。
[0132]
根据前面的步骤,对于相邻且曝光补偿值均为非正数的两帧第一类图像,可以计算出一帧第一类权重图像以及一帧真实高光图像,因此每帧真实高光图像都对应一帧第一类权重图像,但反过来,第一类权重图像未必会对应有真实高光图像,若第一类权重图像不存在对应的真实高光图像,则不必对其进行像素值修正,不过步骤s150中第一类权重图像是指需要进行像素值修正的第一类权重图像。例如,第一类权重图像为m1和m2,对应的真实高光图像为rh1和rh2,则利用rh1修正m1,可得到修正后的m1,记为nm1,利用rh2修正m2,可得到修正后的m2,记为nm2。
[0133]
其中,对第一类权重图像中位于高光区域以及白色区域内(指对应的真实高光图像中的高光区域以及白色区域)的像素值要采取不同的修正策略,使得在修正后的第一类权重图像中,高光区域和白色区域内的像素值具有较明显的区别(若不修正,第一类权重图像中位于高光区域和白色区域内的像素值可能会比较接近)。
[0134]
例如,增大第一类权重图像中位于高光区域的像素值,并减小第一类权重图像中位于白色区域内的像素值就是两种不同的修正策略;又例如,增大第一类权重图像中位于高光区域的像素值,并维持第一类权重图像中位于白色区域内的像素值不变也是两种不同的修正策略。
[0135]
需要指出的是,上面的维持像素值不变也属于一种修正策略,也即修正策略并不一定会导致第一类权重图像中像素值的变化。
[0136]
在一些实现方式中,修正策略可以按照如下目的之一制定:
[0137]
目的1:使得修正后的第一类权重图像在高光区域中的权重值相较于修正前,能够提高暗帧待融合图像在融合结果中的占比。
[0138]
在介绍步骤s120时已经提到,每帧第一类权重图像用于融合的两帧图像可称为待融合图像。目的1中所说的暗帧待融合图像是指两帧待融合图像中对应的曝光补偿值较小的一帧,相应地,亮帧融合图像可以定义为两帧待融合图像中对应的曝光补偿值较大的一帧。比如,对于ev0和ev-1下的两帧待融合图像,ev0下的为亮帧待融合图像,ev-1下的为暗帧待融合图像。
[0139]
两帧待融合图像的加权融合过程可以用如下融合公式表示:
[0140]
f=m
×idark
(1-m)
×ibright
[0141]
其中,f表示融合结果,m表示第一类权重图像(无论修正前的还是修正后的都可以适用该公式),i
dark
表示暗帧待融合图像,i
bright
表示亮待帧融合图像,“1”表示一个全1的矩阵。或者,该公式也可视为一个逐像素的公式,即对于f、m、i
dark
、i
bright
中任一对应的像素位置,该公式都是成立的。需要指出,该公式中使用的第一类权重图像是归一化后的,即图像中像素值的取值范围已经被映射到[0,1],在后文中,为简单起见,对于第一类权重图像的归一化,不再专门提及。
[0142]
根据上述融合公式可知,某帧待融合图像在融合结果中的占比,是由该帧融合图像在加权求和时所使用的融合权重所直接决定的,例如,在上面的融合公式中,i
dark
在融合结果中的占比由m直接决定,i
bright
在融合结果中的占比则由(1-m)直接决定。从而,如果按照上述融合公式,若为提高i
dark
在融合结果中的占比,可增大m中的像素值(第一类权重图像中的像素值表征权重值),若为提高i
bright
在融合结果中的占比,可减小m中的像素值。
[0143]
但需注意,虽然在该融合公式中,第一类权重图像中的像素值是作为暗帧待融合图像的融合权重,但不排除在某些实现方式中,第一类权重图像中的像素值是作为亮帧待融合图像的融合权重,所以并不是在任何实现方式中增大第一类权重图像中的像素值就一定能够提高暗帧待融合图像在融合结果中的占比,也有可能需要减小第一类权重图像中的像素值才能够提高暗帧待融合图像在融合结果中的占比,其原因在于,亮帧待融合图像的融合权重减小后,由于融合权重的互补性,暗帧待融合图像的融合权重必然增大。
[0144]
目的1可通过修正第一类权重图像在高光区域中的像素值来实现,像素值修正后,在融合结果中的高光区域内,暗帧待融合图像的占比得到提高。由于暗帧融合图像的曝光补偿值较小,因此其包含了高光区域中较多的细节信息,从而融合后有利于改善融合结果中高光区域发灰的问题。至于对于第一类权重图像在高光区域之外的像素值是否要进行修正,目的1并不限制。
[0145]
目的2:使得修正后的第一类权重图像在对应的白色区域中的像素值相较于修正前,能够降低暗帧待融合图像在融合结果中的占比。
[0146]
目的2可通过修正第一类权重图像在白色区域中的像素值来实现,像素值修正后,在融合结果中的白色区域内,暗帧待融合图像的占比得到降低,根据融合权重的互补性,这也意味着亮帧待融合图像的占比得到提高。由于亮帧融合图像的曝光补偿值较大,因此其包含了白色区域中较多的细节信息,从而融合后有利于改善融合结果中白色区域发灰的问题。至于对于第一类权重图像在白色区域之外的像素值是否要进行修正,目的2并不限制。
[0147]
目的3:同时包括目的1和目的2
[0148]
目的3可通过修正第一类权重图像在高光区域和白色区域中的像素值来实现,像素值修正后,在融合结果中的高光区域内,暗帧待融合图像的占比得到提高,而在融合结果中的白色区域内,亮帧待融合图像的占比得到提高,从而有利于改善融合结果中高光区域发灰以及白色区域发灰的问题。至于对于第一类权重图像在对应的高光区域和白色区域之外的像素值是否要进行修正,目的3并不限制。
[0149]
下面继续介绍为了实现上述一个或几个目的可以采取的修正策略,在介绍时以第一类权重图像中的像素值表示暗帧待融合图像在进行加权融合时的权重值为例(如前面的融合公式就是这种情况)。
[0150]
策略1:增大第一类权重图像中位于高光区域内的像素值,并维持第一类权重图像中位于高光区域外的像素值不变。
[0151]
策略1其实包含两个子策略,子策略1是增大第一类权重图像中位于高光区域内的像素值,子策略2是维持第一类权重图像中位于高光区域外的像素值不变,子策略1应用于高光区域,则子策略2应用于高光区域之外的区域(包括白色区域),所以满足了对高光区域和白色区域采取不同修正策略的要求,从而是一种可行的策略。
[0152]
在策略1中,增大第一类权重图像中位于对应的高光区域内的像素值,能够提高暗帧待融合图像在融合结果中的高光区域内的占比,即实现上述目的1。可以理解,若要实现策略1,步骤s140中计算的真实高光图像中至少要包含高光区域。
[0153]
策略1并不限定采用何种规则来增大高光区域内的像素值,例如可以将原像素值乘上大于1的比例系数,可以将原像素值加上一定的数值,可以将原像素直接设置为像素值取值上限,等等。
[0154]
需要指出,策略1中所说的增大第一类权重图像中位于对应的高光区域内的像素值,并不是指高光区域内的每个像素值都会增大,只是说从总体上说,高光区域内的像素值是增大的,比如,若第一类权重图像中像素值的取值范围是[0,255],某个像素值原本的值就是255,则无法再增大。后面介绍其他策略时,所提到的增大或减小,均应从总体上理解,不再特别说明。
[0155]
策略2:增大第一类权重图像中位于高光区域内的像素值,并减小第一类权重图像中位于高光区域外的像素值。
[0156]
策略2其实包含两个子策略,子策略1是增大第一类权重图像中位于高光区域内的像素值,子策略2是减小第一类权重图像中位于高光区域外的像素值,子策略1应用于高光区域,则子策略2应用于高光区域之外的区域(包括白色区域),所以满足了对高光区域和白色区域采取不同修正策略的要求,从而是一种可行的策略。
[0157]
在策略2中,增大第一类权重图像中位于对应的高光区域内的像素值,能够提高暗帧待融合图像在融合结果中的高光区域内的占比,而减小第一类权重图像中位于对应的高光区域外的像素值,必然也减小了白色区域中的像素值,能够降低暗帧待融合图像在融合结果中的白色区域内的占比,从而能够实现上述目的3。由于目的3包括目的1和目的2,所以即使只想实现目的1或目的2,也可以采用策略2。可以理解,若要实现策略2,步骤s140中计算的真实高光图像中至少要包含高光区域。
[0158]
策略2并不限定采用何种规则来增大高光区域内的像素值以及减小高光区域外的像素值,下面以利用真实高光图像rh1修正第一类权重图像m1,得到修正后的第一类权重图像nm1为例,并结合如下公式说明一种符合策略2的权重修正规则:
[0159]
nm1=ω
×
rh1 (1-ω)
×
m1[0160]
其中,ω为一个预设的系数,取值范围(0,1),真实高光图像rh1是一个二值化图像,在rh1的高光区域中像素值取255,在rh1的高光区域之外像素值取0,第一类权重图像m1中的像素值范围为[0,255]。若将高光区域记为g,rh1(g)表示rh1在g中的像素值(任一像素位置),m1(g)表示m1在g中的像素值,nm1(g)表示m1在g中修正后的像素值,则有:
[0161]
nm1(g)=ω
×
(rh1(g)-m1(g)) m1(g)
[0162]
=ω
×
(255-m1(g)) m1(g)
[0163]
由于m1(g)≤255,所以ω
×
(255-m1(g))≥0,从而nm1(g)≥m1(g),即按照此规则修正后,m1在高光区域内的像素值从整体上看是增大的。类似可分析,m1在高光区域之外的像素值从整体上看是减小的。
[0164]
在策略2中,对于第一类权重图像中位于非高光非白色区域内的像素值也被减小,这将可能导致融合结果在这些区域内的图像质量降低,此问题可通过后处理改善。
[0165]
策略3:减小第一类权重图像中位于白色区域内的像素值,并维持第一类权重图像中位于白色区域外的像素值不变。
[0166]
策略3其实包含两个子策略,子策略1是减小第一类权重图像中位于白色区域内的像素值,子策略2是维持第一类权重图像中位于白色区域外的像素值不变,子策略1应用于白色区域,则子策略2应用于白色区域之外的区域(包括高光区域),所以满足了对高光区域和白色区域采取不同修正策略的要求,从而是一种可行的策略。
[0167]
在策略3中,减小第一类权重图像中位于白色区域内的像素值,能够降低暗帧待融合图像在融合结果中的白色区域内的占比,即实现上述目的2。可以理解,若要实现策略3,步骤s140中计算的真实高光图像中至少要包含白色区域。
[0168]
策略3并不限定采用何种规则来减小白色区域内的像素值,例如可以将原像素值乘上小于1的比例系数,可以将原像素值减去一定的数值,可以将原权值直接设置为像素值取值下限,等等。
[0169]
策略4:减小第一类权重图像中位于对应的白色区域内的像素值,并增大第一类权重图像中位于对应的白色区域外的像素值。
[0170]
策略4其实包含两个子策略,子策略1是减小第一类权重图像中位于白色区域内的像素值,子策略2是增大第一类权重图像中位于白色区域外的像素值,子策略1应用于白色区域,则子策略2应用于白色区域之外的区域(包括高光区域),所以满足了对高光区域和白色区域采取不同修正策略的要求,从而是一种可行的策略。
[0171]
在策略4中,减小第一类权重图像中位于白色区域内的像素值,能够降低暗帧待融合图像在融合结果中的白色区域内的占比,而增大第一类权重图像中位于白色区域外的像素值,必然也增大了高光区域中的像素值,能够提高暗帧待融合图像在融合结果中的高光区域内的占比,从而能够实现上述目的3。由于目的3包括目的1和目的2,所以即使只想实现目的1或目的2,也可以采用策略4。可以理解,若要实现策略4,步骤s140中计算的真实高光图像中至少要包含白色区域。
[0172]
策略4并不限定采用何种规则来减小白色区域内的像素值以及增大白色区域外的像素值。
[0173]
在策略4中,对于第一类权重图像中位于非高光非白色区域内的像素值也被增大,这将可能导致融合结果在这些区域内的图像质量降低,此问题可通过后处理改善。
[0174]
策略5:增大第一类权重图像中位于高光区域内的像素值,减小第一类权重图像中位于白色区域内的像素值,并维持第一类权重图像中位于高光区域以及对应的白色区域外的像素值不变。
[0175]
策略5其实包含三个子策略,子策略1是增大第一类权重图像中位于高光区域内的像素值,子策略2是减小第一类权重图像中位于白色区域内的像素值,子策略3是维持第一类权重图像中位于高光区域和白色区域外的像素值不变,子策略1应用于高光区域,则子策
略2应用于白色区域,所以满足了对高光区域和白色区域采取不同修正策略的要求,从而是一种可行的策略。
[0176]
在策略5中,增大第一类权重图像中位于高光区域内的像素值,能够提高暗帧待融合图像在融合结果中的高光区域内的占比,而减小第一类权重图像中位于白色区域内的像素值,能够降低暗帧待融合图像在融合结果中的白色区域内的占比,即实现上述目的3。由于目的3包括目的1和目的2,所以即使只想实现目的1或目的2,也可以采用策略5。可以理解,若要实现策略5,步骤s140中计算的真实高光图像中至少要包含高光区域和白色区域。
[0177]
策略5并不限定采用何种规则来增大高光区域内的像素值以及减小白色区域内的像素值。
[0178]
下面以利用真实高光图像rh1修正第一类权重图像m1,得到修正后的第一类权重图像nm1为例,并结合如下公式说明一种符合策略5的权重修正规则:
[0179]
nm1=ω
×
rh1 (1-ω)
×
m1[0180]
其中,ω为一个预设的系数,取值范围(0,1),真实高光图像rh1的高光区域中像素值取255,在rh1的白色区域中像素值取0,在rh1的非高光非白色区域中,像素值取权重图像m1中对应像素位置处的像素值(在步骤s140中就按照此方式计算rh1)。参照策略2中对上述公式的分析方法可知,该权重修正符合策略5的要求。
[0181]
应当理解,修正策略不限于以上5种:例如,在增大第一类权重图像中位于高光区域内的像素值的同时,不限制第一类权重图像中位于高光区域外的像素值如何修正,只要满足对高光区域和白色区域采取不同修正策略的要求即可;又例如,在减小第一类权重图像中位于白色区域内的像素值的同时,不限制第一类权重图像中位于白色区域外的像素值如何修正,只要满足对高光区域和白色区域采取不同修正策略的要求即可;又例如,在增大第一类权重图像中位于高光区域内的像素值、且减小第一类权重图像中位于白色区域内的像素值的同时,不限制第一类权重图像中位于白色区域外的像素值如何修正。
[0182]
如前所述,策略5中的子策略1和2能够改善融合结果在高光区域和白色区域中的图像质量,而子策略3由于维持了第一类权重图像中位于高光区域以及白色区域外的像素值不变,从而使得像素值修正不至于降低这部分区域中的图像质量,进而可以省略或简化针对融合结果的后处理步骤。
[0183]
在一些实现方式中,在执行步骤s140之后,以及执行步骤s150之前,还可以先对真实高光图像进行平滑滤波,弱化或消除图像中的噪声,进而有利于提高后续得到的融合图像的质量,在步骤s150中进行像素值修正时,应使用滤波后的真实高光图像。需要指出,平滑滤波可能在一定程度上改变真实高光图像中高光区域和/或白色区域的形状。
[0184]
例如,假设步骤s150中按照策略2,利用真实高光图像rh1修正第一类权重图像m1,得到修正后的第一类权重图像nm1,则可以采用如下权重修正公式:
[0185]
nm1=ω
×
gau(rh1) (1-ω)
×
m1[0186]
其中,gau表示对步骤s140中得到的rh1进行高斯滤波。
[0187]
步骤s160:至少利用修正后的第一类权重图像对多帧第一类图像进行加权融合,获得最终的融合图像。
[0188]
先考虑步骤s110中的多帧第一类图像曝光补偿值均为非正数的情况,到步骤s150为止,已经计算出了相邻两帧第一类图像之间的修正后的第一类权重图像,有多种方法可
以将多帧第一类图像其融合,下面举例说明一种迭代的融合方式:
[0189]
步骤x1:将对应的曝光补偿值最大或最小的一帧第一类图像作为当前一帧第一类图像以及最初的融合图像。
[0190]
步骤x1为迭代融合的初始化步骤。例如,可将i1作为当前一帧第一类图像以及最初的融合图像,此时的融合顺序为曝光补偿值逐渐减小的顺序,也可以将i3作为当前一帧第一类图像以及最初的融合图像,此时的融合顺序为曝光补偿值逐渐增大的顺序。下面主要以曝光补偿值逐渐减小的顺序为例。
[0191]
步骤x2:利用当前一帧修正后的第一类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,获得新的融合图像。
[0192]
步骤x2和x3为迭代步骤。其中,下一帧第一类图像是相对于当前一帧第一类图像而言的,具体哪一帧是下一帧,取决于融合顺序:若按照曝光补偿值逐渐减小的顺序,下一帧第一类图像是与当前一帧第一类图像相邻的、且对应的曝光补偿值更小的一帧第一类图像;若按照曝光补偿值逐渐增大的顺序,下一帧第一类图像是与当前一帧第一类图像相邻的、且对应的曝光补偿值更大的一帧第一类图像。例如,若按照曝光补偿值逐渐减小的顺序,当前一帧第一类图像是i1,则下一帧第一类图像是i2。
[0193]
当前一帧修正后的第一类权重图像是指当前一帧第一类图像与下一帧第一类图像之间的、修正后的第一类权重图像。例如,i1与i2之间的、修正后的第一类权重图像为nm1。
[0194]
步骤x2中的加权融合可以采用前面给出的融合公式:
[0195]fi 1
=nmi×ii 1
(1-nmi)
×fi
[0196]
其中,i表示迭代融合的轮次编号,i可从1开始取值,fi是当前的融合图像(f1=i1),f
i 1
是本轮融合后得到的新的融合图像,i
i 1
是下一帧第一类图像,nmi是ii(当前一帧第一类图像)与i
i 1
之间的、修正后的第一类权重图像。i
i 1
对应前面公式中的i
dark
,而fi对应前面公式中的i
bright
。例如,对于i1(即f1)与i2之间的融合,上面的公式可以具体化为:
[0197]
f2=nm1×
i2 (1-nm1)
×
f1[0198]
通过以上融合公式可以解释前文定义的待融合图像,待融合图像可能是第一类图像,也能是至少两帧第一类图像的融合结果。另外,还需要指出,对于fi(在不等于i1时),严格来说并没有精确的曝光补偿值,因为它已经经过了图像融合,但可以认为它的曝光补偿值至少不会大于ii的曝光补偿值(若按照曝光补偿值逐渐增大的顺序融合),或者,至少不会小于ii的曝光补偿值(若按照曝光补偿值逐渐减小的顺序)。
[0199]
步骤x3:判断下一帧第一类图像是否为最后一帧第一类图像。
[0200]
若判断结果为是,则结束迭代,此时得到的融合图像就是最终的融合图像;若判断结果为否,则跳转至步骤x2继续执行,但应将当前一帧第一融合图像更新为下一帧第一融合图像,并将当前的融合图像更新为本轮迭代新得到的融合图像,因为此时已经进入下一轮迭代。
[0201]
例如,在第一轮迭代中,根据i1(即f1)与i2,利用nm1融合得到了f2,此时由于i2并非最后一帧第一类图像,可继续执行第二轮迭代,利用nm2对f2与i3进行融合得到f3,此时由于i3是最后一帧第一类图像,所以迭代结束,f3就是最终的融合图像。
[0202]
针对步骤x1至步骤x3给出的加权融合方法,由于融合过程中待融合图像的曝光补偿值是渐变的而非跳变的,因此得到的最终融合结果具有较高的图像质量。
[0203]
再考虑步骤s110中的多帧第一类图像中至少有一帧曝光补偿值为正数的情况(当然,至少有两帧的曝光补偿值为非正数这一条件仍然满足),在步骤s150执行完之后,得到了两种第一类权重图像,分别是:相邻且曝光补偿值均为非正数的两帧第一类图像之间的修正后的第一类权重图像(在步骤s150中才计算出的),对于相邻且曝光补偿值至少有一个为正数的两帧第一类图像之间的第一类权重图像(在步骤s120中就计算出了,后续步骤中不进行修正)。在步骤s160中利用这两种图像对多帧第一类图像进行融合,仍然考虑迭代的融合方式:
[0204]
步骤y1:将对应的曝光补偿值最大或最小的一帧第一类图像作为当前一帧第一类图像以及最初的融合图像。
[0205]
步骤y2:若当前一帧第一类图像和下一帧第一类图像的曝光补偿值至少有一个为正数,则利用当前一帧第一类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合图像;若当前一帧第一类图像和下一帧第一类图像的曝光补偿值均为非正数,则利用当前一帧修正后的第一类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,获得新的融合图像。
[0206]
其中,当前一帧第一类权重图像是指当前一帧第一类图像与下一帧第一类图像之间的第一类权重图像;当前一帧修正后的第一类权重图像是指当前一帧第一类图像与下一帧第一类图像之间的、修正后的第一类权重图像。
[0207]
步骤y3:判断下一帧第一类图像是否为最后一帧第一类图像。
[0208]
若判断结果为是,则结束迭代,此时得到的融合图像就是最终的融合图像;若判断结果为否,则跳转至步骤x2继续执行,但应将当前一帧第一融合图像更新为下一帧第一融合图像,并将当前的融合图像更新为本轮迭代新得到的融合图像,因为此时已经进入下一轮迭代。
[0209]
不难看出,步骤y1至y3类似于步骤x1至x3,只是步骤y2中计算新的融合图像分成了两种情况而已。各步骤可参考前文阐述,不再重复解释。
[0210]
例如,在步骤s110中,除了i1、i2、i3之外,还获取了ev 2下的一帧第一类图像和ev 1下的一帧第一类图像,分别记为k2和k1。在步骤s120中除了根据i1和i2计算出m1、根据i2和i3计算出m2之外,还根据k1和i1计算出一帧第一类权重图像n1,以及根据k2和k1计算出一帧第以类权重图像n2。在步骤s150中,m1被修正为nm1,m2被修正为nm2。在步骤s160中,若融合顺序为曝光补偿值逐渐减小的顺序,则融合过程为:首先根据k2与k1,利用n2融合得到g1,再根据g1与i1,利用n1融合得到g2,再根据g2与i2,利用nm1融合得到g3,最后根据g3与i3,利用nm2融合得到g4,g4就是最终的融合图像。
[0211]
同时使用曝光补偿值为非正数和正数的第一类图像来进行图像融合,有利于改善融合图像的质量。例如,对于一些较暗的场景,相较于曝光补偿值为非正数的第一类图像,曝光补偿值为正数的第一类图像中可能包含更多有价值的细节信息。
[0212]
步骤160中的所说的“至少”正是考虑了存在曝光补偿值为正数的第一类图像的情况,此时进行图像融合除了使用修正后的第一图像,还要使用部分未修正的第一类图像。
[0213]
需要指出,步骤s160中所说的最终的融合图像只表示本技术实施例提供的图像融合方法输出的最终结果,并不一定就是最终呈现给用户的融合图像,在呈现给用户之前还可能对其执行若干后处理操作。
[0214]
综上所述,本技术实施例提供的图像融合方法,利用包含高光区域和/或白色区域的真实高光图像,对第一类权重图像中位于高光区域和白色区域内的像素值进行修正,并且对高光区域和白色区域内的像素值采用不同的修正策略。从而使得在修正后的第一类权重图像中,高光区域和白色区域内的像素值具有较明显的区别。又由于第一类权重图像中的像素值表示图像在进行加权融合时的权重值,因此利用修正后的第一类权重图像对多帧第一类图像进行加权融合,可以使得图像在高光区域和白色区域内的融合策略存在显著区别(融合策略,例如是更多地融合暗帧图像还是亮帧图像,取决于融合权重),因此有利于改善融合图像的高光区域或白色区域发灰的问题,提高融合图像的质量。
[0215]
进一步的,在一些实现方式中,通过计算曝光补偿值为非正数的每帧第一类图像对应的高光图像(其中包含第一类图像中的高亮度区域),并对相邻两帧高光图像进行某种意义上的比较计算,就可以确定第一类图像中的真实的高光区域(在相邻两帧高光图像中亮度都比较高的区域)和/或白色区域(只在亮帧高光图像中亮度比较高的、在暗帧高光图像中亮度比较低的区域),进而可以基于高光区域和/或白色区域对第一类权重图像进行针对性的修正,使得在修正后的第一类权重图像中,高光区域和白色区域具有差异化的融合权重。
[0216]
例如,对于第一类权重图像的修正策略,可以被设计为倾向于在高光区域中更多地融合曝光补偿值较小的第一类图像中的像素信息,从而有利于增加融合图像在高光区域中的细节,避免其发灰;和/或,可以被设计为倾向于在白色区域中更多地融合曝光补偿值较大的第一类图像中的像素信息,从而有利于增加融合图像在白色区域中的细节,避免其发灰。
[0217]
图3示出了本技术实施例提供的第二种图像融合方法的流程。该方法可以但不限于由一电子设备执行,图6示出了该电子设备的一种可能的结构,详见后文对于图6的阐述。参照图3,该方法包括:
[0218]
步骤s200:获取多帧第一类图像。
[0219]
其中,各帧第一类图像的曝光补偿值均不同且至少两帧第一类图像的曝光补偿值为非正数。
[0220]
步骤s210:将对应的曝光补偿值最大或最小的一帧第一类图像作为当前一帧第一类图像以及最初的融合图像。
[0221]
步骤s210为迭代融合的初始化步骤,步骤s220至步骤s290则为迭代步骤。步骤s210中选择哪帧第一类图像作为当前一帧第一类图像以及最初的融合图像取决于希望采用的融合顺序,若融合顺序为曝光补偿值逐渐减小的顺序,则步骤s210中应选择曝光补偿值最大的一帧第一类图像,若融合顺序为曝光补偿值逐渐增大的顺序,则步骤s210中应选择曝光补偿值最小的一帧第一类图像。
[0222]
步骤s220:计算当前的融合图像和下一帧第一类图像之间的第二类权重图像。
[0223]
其中,下一帧第一类图像是相对于当前一帧第一类图像而言的,具体哪一帧是下一帧,取决于融合顺序:若按照曝光补偿值逐渐减小的顺序,下一帧第一类图像是与当前一帧第一类图像相邻的、且对应的曝光补偿值更小的一帧第一类图像;若按照曝光补偿值逐渐增大的顺序,下一帧第一类图像是与当前一帧第一类图像相邻的、且对应的曝光补偿值更大的一帧第一类图像。第二类权重图像中的像素值表示图像在进行加权融合时使用的权
重值。但需注意,第二类权重图像是根据一帧第一类图像和一帧融合图像算出来的,第一类图像则是根据两帧第一类图像算出来的。
[0224]
步骤s230:判断当前一帧第一类图像和下一帧第一类图像的曝光补偿值是否均为非正数。
[0225]
若均为非正数,则执行步骤s250,若至少有一个为正数,则执行步骤s240,但无论是执行步骤s240还是执行步骤s250,最终目的都是计算出新的融合图像,只是计算过程不同。
[0226]
步骤s240:利用第二类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合图像。
[0227]
加权融合可以采用步骤s160中给出的融合公式,不再重复阐述。
[0228]
步骤s250:分别计算当前的融合图像和下一帧第一类图像对应的高光图像。
[0229]
步骤s250会计算出两帧高光图像,两帧高光图像中分别包含对应的当前的融合图像和下一帧第一类图像中的高亮度区域。
[0230]
步骤s260:根据获得的两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像。
[0231]
其中,高光区域为两帧高光图像中共同包含的高亮度区域,白色区域为亮帧高光图像中包含但暗帧高光图像中不包含的高亮度区域。
[0232]
步骤s270:利用真实高光图像中的高光区域和/或白色区域修正对应的第二类权重图像中的权重值,获得修正后的第二类权重图像。
[0233]
其中,对第二类权重图像中位于高光区域以及白色区域内的像素值采取不同的修正策略。例如,修正策略可以按照如下目的制定:使得修正后的第二类权重图像在高光区域中的权重值相较于修正前,能够提高暗帧待融合图像在融合结果中的占比,和/或,使得修正后的第二类权重图像在白色区域中的权重值相较于修正前,能够降低暗帧待融合图像在融合结果中的占比。
[0234]
步骤s280:利用修正后的第二类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合图像。
[0235]
加权融合可以采用步骤s160中给出的融合公式,不再重复阐述。
[0236]
步骤s290:判断下一帧第一类图像是否为最后一帧第一类图像。
[0237]
若判断结果为是,则结束迭代,此时得到的融合图像就是最终的融合图像;若判断结果为否,则跳转至步骤s220继续执行,但应将当前一帧第一融合图像更新为下一帧第一融合图像,并将当前的融合图像更新为本轮迭代新得到的融合图像,因为此时已经进入下一轮迭代。
[0238]
对于步骤s200至s290,其实现细节在介绍步骤s110至s160时大多数已经提及,可以参考前文内容,不再重复阐述。
[0239]
例如,对i1、i2、i3进行融合,若融合顺序为曝光补偿值逐渐减小的顺序,在第一轮迭代中,先根据i1(即最初的融合图像l1)与i2计算第二类权重图像,记为w1,再计算i1与i2对应的高光图像,记为p1与p2,再根据p1与p2计算真实高光图像rp1,并利用rp1修正w1,得到修正后的第二类权重图像,记为nw1,最后用nw1对i1与i2进行融合,得到融合图像l2。此时由于i2并非最后一帧第一类图像,可继续执行第二轮迭代,先根据l2与i3计算第二类权重图像,
记为w2,再计算l2与i3对应的高光图像,记为q2与p3,再根据q2与p3计算真实高光图像rp2,并利用rp2修正w2,得到修正后的第二类权重图像,记为nw2,最后用nw2对l2与i3进行融合,得到融合图像l3,此时由于i3是最后一帧第一类图像,所以迭代结束,l3就是最终的融合图像。
[0240]
又例如,对k2、k1、i1、i2、i3进行融合,若融合顺序为曝光补偿值逐渐减小的顺序,在第一轮迭代中,先根据k2(即最初的融合图像l1)与k1计算第二类权重图像,记为w1,然后用w1对k2与k1进行融合,得到融合图像l2。此时由于k1并非最后一帧第一类图像,可继续执行第二轮迭代,先根据l2与i1计算第二类权重图像,记为w2,然后用w2对l2与i1进行融合,得到融合图像l3。此时由于i1并非最后一帧第一类图像,可继续执行第三轮迭代,先根据l3与i2计算第二类权重图像,记为w3,再计算l3与i2对应的高光图像,记为p1与p2,再根据p1与p2计算真实高光图像rp1,并利用rp1修正w3,得到修正后的第二类权重图像,记为nw1,最后用nw1对l3与i2进行融合,得到融合图像l4。此时由于i2并非最后一帧第一类图像,可继续执行第四轮迭代,先根据l4与i3计算第二类权重图像,记为w4,再计算l4与i3对应的高光图像,记为q2与p3,再根据q2与p3计算真实高光图像rp2,并利用rp2修正w4,得到修正后的第二类权重图像,记为nw4,最后用nw4对l4与i3进行融合,得到融合图像l5,此时由于i3是最后一帧第一类图像,所以迭代结束,l5就是最终的融合图像。
[0241]
图3中的图像融合方法,由于第二类权重图像的计算来源和其用于融合的对象是相同的(都是当前的融合图像和下一帧第一类图像),比如,在上面的第一个例子中,w2根据l2与i3计算,nw2也用于加权融合l2与i3,所以可能会得到质量较好的融合图像。
[0242]
图4示出了本技术实施例提供的图像融合装置300的功能模块图。参照图4,图像融合装置300包括:
[0243]
第一图像获取模块310,用于获取多帧第一类图像,各帧第一类图像的曝光补偿值均不同且其中至少两帧第一类图像的曝光补偿值为非正数;
[0244]
权重图像计算模块320,用于计算相邻的每两帧第一类图像之间的第一类权重图像,所述第一类权重图像中的像素值表示图像在进行加权融合时的权重值;
[0245]
高光图像计算模块330,用于计算曝光补偿值为非正数的每帧第一类图像对应的高光图像,所述高光图像中包含对应的第一类图像中的高亮度区域;
[0246]
真实高光图像计算模块340,用于根据相邻的每两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像;
[0247]
权重图像修正模块350,用于利用所述真实高光图像中的高光区域和/或白色区域修正对应的第一类权重图像中的像素值,获得修正后的第一类权重图像;
[0248]
第一图像融合模块360,用于至少利用所述修正后的第一类权重图像对所述多帧第一类图像进行加权融合,获得最终的融合图像。
[0249]
在图像融合装置300的一种实现方式中,所述高光区域为相邻的两帧高光图像中共同包含的高亮度区域,所述白色区域为亮帧高光图像中包含但暗帧高光图像中不包含的高亮度区域;其中,所述亮帧高光图像是指相邻的两帧高光图像中对应的第一类图像的曝光补偿值较大的一帧,所述暗帧高光图像是指相邻的两帧高光图像中对应的第一类图像的曝光补偿值较小的一帧。
[0250]
在图像融合装置300的一种实现方式中,所述高光图像为二值化图像,图像中取第一数值的像素属于高亮度区域,取第二数值的像素不属于高亮度区域;真实高光图像计算
模块340根据相邻的每两帧高光图像计算一帧包含高光区域的真实高光图像,包括:确定所述亮帧高光图像中由取所述第一数值的像素构成的连通区域;确定所述暗帧高光图像中由取所述第一数值的像素构成的连通区域的质心位置;对于每个质心位置,若其位于所述亮帧高光图像中的一连通区域内,则将所述真实高光图像中与所述亮帧高光图像中的该连通区域对应的区域确定为高光区域。
[0251]
在图像融合装置300的一种实现方式中,所述高光图像为二值化图像,图像中取第一数值的像素属于高亮度区域,取第二数值的像素不属于高亮度区域;真实高光图像计算模块340根据相邻的每两帧高光图像确定一帧包含高光区域的真实高光图像,包括:确定所述亮帧高光图像中由取所述第一数值的像素构成的连通区域;确定所述暗帧高光图像中由取所述第一数值的像素构成的连通区域;对于所述暗帧高光图像中的每个连通区域,若所述亮帧高光图像中存在与其重叠程度超过第一阈值的连通区域,则将所述真实高光图像中与所述亮帧高光图像中的该连通区域对应的区域确定为高光区域。
[0252]
在图像融合装置300的一种实现方式中,所述高光图像为二值化图像,图像中取第一数值的像素属于高亮度区域,取第二数值的像素不属于高亮度区域;真实高光图像计算模块340根据相邻的每两帧高光图像计算一帧包含白色区域的真实高光图像,包括:确定所述亮帧高光图像中由取所述第一数值的像素构成的连通区域;确定所述暗帧高光图像中由取所述第一数值的像素构成的连通区域的质心位置;对于所述亮帧高光图像中的每个连通区域,若所述暗帧高光图像中的任一质心位置均位于其外,则将所述真实高光图像中与所述亮帧高光图像中的该连通区域对应的区域确定为白色区域。
[0253]
在图像融合装置300的一种实现方式中,所述高光图像为二值化图像,图像中取第一数值的像素属于高亮度区域,取第二数值的像素不属于高亮度区域;真实高光图像计算模块340根据相邻的每两帧高光图像计算一帧包含白色区域的真实高光图像,包括:确定亮帧高光图像中由取所述第一数值的像素构成的连通区域;确定暗帧高光图像中由取所述第一数值的像素构成的连通区域;对于所述亮帧高光图像中的每个连通区域,若所述暗帧高光图像中的任一连通域与其重叠程度均未超过第二阈值,则将所述真实高光图像中与所述亮帧高光图像中的该连通区域对应的区域确定为白色区域。
[0254]
在图像融合装置300的一种实现方式中,每帧第一类权重图像用于融合两帧待融合图像,所述待融合图像为所述第一类图像,或者,至少两帧第一类图像加权融合后得到的融合图像,所述第一类权重图像中的像素值表示暗帧待融合图像在进行加权融合时的权重值,所述暗帧待融合图像为所述两帧待融合图像中曝光补偿值较小的一帧;权重图像修正模块350利用所述真实高光图像中的高光区域和/或白色区域修正第一类权重图像中的像素值,包括:增大所述第一类权重图像中位于高光区域内的像素值,和/或,减小所述第一类权重图像中位于对应的白色区域内的像素值。
[0255]
在图像融合装置300的一种实现方式中,权重图像修正模块350增大所述第一类权重图像中位于高光区域内的像素值,或,减小所述第一类权重图像中位于白色区域内的像素值,包括:增大所述第一类权重图像中位于高光区域内的像素值,并减小所述第一类权重图像中位于高光区域外的像素值,或,减小所述第一类权重图像中位于白色区域内的像素值,并增大所述第一类权重图像中位于白色区域外的像素值。
[0256]
在图像融合装置300的一种实现方式中,权重图像修正模块350增大所述第一类权
重图像中位于高光区域内的像素值,和,减小所述第一类权重图像中位于白色区域内的像素值,包括:增大所述第一类权重图像中位于高光区域内的像素值,和,减小所述第一类权重图像中位于白色区域内的像素值,和,维持所述第一类权重图像中位于高光区域以及白色区域外的像素值。
[0257]
在图像融合装置300的一种实现方式中,所述装置还包括:图像滤波模块,用于在真实高光图像计算模块340根据相邻的每两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像之后,以及在权重图像修正模块350利用所述真实高光图像中的高光区域和/或白色区域修正对应的第一类权重图像中的像素值之前,对所述真实高光图像进行平滑滤波。
[0258]
在图像融合装置300的一种实现方式中,所述多帧第一类图像的曝光补偿值均为非正数,第一图像融合模块360至少利用所述修正后的第一类权重图像对所述多帧第一类图像进行加权融合,获得最终的融合图像,包括:将对应的曝光补偿值最大或最小的一帧第一类图像作为当前一帧第一类图像以及最初的融合图像,按照对应的曝光补偿值渐变的顺序,依次利用当前一帧修正后的第一类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,获得新的融合图像,直至在下一帧第一类图像是最后一帧第一类图像时,获得最终的融合图像;其中,当前一帧修正后的第一类权重图像是指当前一帧第一类图像与下一帧第一类图像之间的、修正后的第一类权重图像。
[0259]
在图像融合装置300的一种实现方式中,所述多帧第一类图像中的至少一帧曝光补偿值为正数,第一图像融合模块360至少利用所述修正后的第一类权重图像对所述多帧第一类图像进行加权融合,获得最终的融合图像,包括:利用以下两种图像对所述多帧第一类图像进行加权融合,获得最终的融合图像:相邻且曝光补偿值至少有一个为正数的每两帧第一类图像之间的所述第一类权重图像;相邻且曝光补偿值均为非正数的每两帧第一类图像之间的所述修正后的第一类权重图像。
[0260]
在图像融合装置300的一种实现方式中,所述多帧第一类图像中的一帧曝光补偿值为0。
[0261]
本技术实施例提供的图像融合装置300,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
[0262]
图5示出了本技术实施例提供的图像融合装置400的功能模块图。参照图5,图像融合装置400包括:
[0263]
第二图像获取模块410,用于获取多帧第一类图像,各帧第一类图像的曝光补偿值且其中至少两帧第一类图像的曝光补偿值为非正数;
[0264]
第二图像融合模块420,用于将对应的曝光补偿值最大或最小的一帧第一类图像作为当前一帧第一类图像以及最初的融合图像,按照对应的曝光补偿值渐变的顺序,依次执行以下融合步骤获得新的融合图像,直至在下一帧第一类图像是最后一帧第一类图像时,获得最终的融合图像,所述融合步骤包括:计算当前的融合图像和下一帧第一类图像之间的第二类权重图像,所述第二类权重图像中的像素值表示图像在进行加权融合时的权重值;若当前一帧第一类图像和下一帧第一类图像的曝光补偿值至少有一个为正数,则利用所述第二类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合
图像;若当前一帧第一类图像和下一帧第一类图像的曝光补偿值均为非正数,则执行以下操作:分别计算当前的融合图像和下一帧第一类图像对应的高光图像,获得的两帧高光图像中分别包含对应的当前的融合图像和下一帧第一类图像中的高亮度区域;根据所述两帧高光图像计算一帧包含高光区域和/或白色区域的真实高光图像;利用所述真实高光图像中的高光区域和/或白色区域修正对应的第二类权重图像中的像素值,获得修正后的第二类权重图像;其中,对所述第二类权重图像中位于高光区域以及白色区域内的像素值采取不同的修正策略;利用所述修正后的第二类权重图像对当前的融合图像与下一帧第一类图像进行加权融合,得到新的融合图像。
[0265]
本技术实施例提供的图像融合装置400,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
[0266]
图6示出了本技术实施例提供的电子设备500的一种可能的结构。参照图6,电子设备500包括:处理器510、存储器520以及通信接口530,这些组件通过通信总线540和/或其他形式的连接机构(未示出)互连并相互通讯。
[0267]
其中,存储器520包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(randomaccess memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),电可擦除可编程只读存储器(electric erasable programmable read-only memory,简称eeprom)等。处理器510以及其他可能的组件可对存储器520进行访问,读和/或写其中的数据。
[0268]
处理器510包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器510可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、微控制单元(micro controller unit,简称mcu)、网络处理器(networkprocessor,简称np)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(neural-networkprocessing unit,简称npu)、图形处理器(graphics processing unit,简称gpu)、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(application specific integrated circuits,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器510为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
[0269]
通信接口530包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口530可以包括进行有线和/或无线通信的接口。
[0270]
在存储器520中可以存储一个或多个计算机程序指令,处理器510可以读取并运行这些计算机程序指令,以实现本技术实施例提供的图像融合方法。
[0271]
可以理解,图6所示的结构仅为示意,电子设备500还可以包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。电子设备500可能是实体设备,例如手机、照相机、摄像机、可穿戴设备、平板电脑、pc机、笔记本电脑、服务器等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电
子设备500也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
[0272]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本技术实施例提供的鬼影检测方法和/或图像融合方法。例如,计算机可读存储介质可以实现为图6中电子设备500中的存储器520。
[0273]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献