掌桥专利:专业的专利平台
掌桥专利
首页

图像的白平衡处理方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 11:27:38


图像的白平衡处理方法、装置、电子设备和存储介质

技术领域

本公开涉及图像处理技术,尤其是一种图像的白平衡处理方法、装置、电子设备和存储介质。

背景技术

白平衡(White Balance,WB),是描述图像中白色精确度的一项指标。白平衡是随着电子影像再现色彩而产生的,在专业摄像领域白平衡应用较早。家用电子产品(家用摄像机、数码照相机)中也广泛使用。

实践中,许多用户在使用图像拍摄装置拍摄图像的过程中,都会遇到这样的问题:在日光灯的房间里拍摄的影像会显得发绿,在室内钨丝灯光下拍摄出来的景物就会偏黄,而在日光阴影处拍摄到的照片则莫名其妙地偏蓝,其原因就在于白平衡算法的处理方式上。

目前,由于室内环境以其丰富的色彩表现,复杂的光源环境,大面积单色的场景等等给白平衡带来了很大的挑战。而且,在ISP(互联网服务提供商,Internet ServiceProvider)处理过程中,各个环节呈不同程度的耦合效应,导致在复杂的室内环境拍摄条件下,这种相互影响,相互耦合的效应被放大。例如,经CCM(色彩校正参数矩阵,ColorCorrectionMatrix)进行转换后,将与白平衡耦合造成影响,大大影响白平衡处理的准确性。因此,在上述场景中,如何提高图像白平衡处理的准确性,是一个值得关注的技术问题。

发明内容

本公开实施例提供一种图像的白平衡处理方法、装置、电子设备和存储介质,以提高图像白平衡处理的准确性。

根据本公开实施例的第一个方面,提供的一种图像的白平衡处理方法,包括:

获取第一色彩空间下的待处理图像;

对所述待处理图像进行光源估计,得到第一光源估计结果;

基于所述第一光源估计结果对所述待处理图像进行第一白平衡处理,生成第一白平衡处理后图像;

将所述第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像;

对所述转换后图像进行光源估计,得到第二光源估计结果;

基于所述第一光源估计结果和所述第二光源估计结果,对所述待处理图像进行第二白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的方法中,所述基于所述第一光源估计结果和所述第二光源估计结果,对所述待处理图像进行第二白平衡处理,生成第二白平衡处理后图像,包括:

基于所述第一光源估计结果,确定第一转换矩阵,其中,所述第一转换矩阵用于将所述待处理图像转换为所述待处理图像的白平衡处理后图像;

基于所述第二光源估计结果,确定第二转换矩阵,其中,所述第二转换矩阵用于将所述转换后图像转换为所述转换后图像的白平衡处理后图像;

基于所述第一转换矩阵和所述第二转换矩阵,对所述待处理图像进行第三白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的方法中,所述基于所述第一转换矩阵和所述第二转换矩阵,对所述待处理图像进行第三白平衡处理,生成第二白平衡处理后图像,包括:

基于所述第一转换矩阵、所述第二转换矩阵和第三转换矩阵,对所述待处理图像进行第四白平衡处理,生成第二白平衡处理后图像,其中,所述第三转换矩阵用于将所述第一色彩空间下的图像转换为所述第二色彩空间下的图像。

可选地,在本公开任一实施例的方法中,所述基于所述第一转换矩阵、所述第二转换矩阵和第三转换矩阵,对所述待处理图像进行第四白平衡处理,生成第二白平衡处理后图像,包括:

基于所述第一转换矩阵、所述第二转换矩阵和第三转换矩阵,确定所述第一转换矩阵的偏色限制矩阵;

基于所述偏色限制矩阵,对所述待处理图像进行第五白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的方法中,所述第一光源估计结果包括光源的色值;以及

所述将所述第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像,包括:

对所述光源的色值进行归一化处理,得到归一化后光源色值;

将所述归一化后光源色值转换为所述第一色彩空间下的光源色值,得到转换后光源色值;

计算与所述转换后光源色值相对应的色温;

基于所述色温,确定第四转换矩阵,其中,所述第四转换矩阵用于将所述第一色彩空间下的图像的白平衡处理后的图像的色彩空间转换为第二色彩空间;

基于所述第四转换矩阵,将所述第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

可选地,在本公开任一实施例的方法中,所述基于所述色温,确定第四转换矩阵,包括:

响应于所述色温小于预设第一色温,将与所述预设第一色温相对应的色彩空间转换矩阵和所述第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于所述色温等于预设第二色温,将与所述预设第二色温相对应的色彩空间转换矩阵和所述第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于所述色温大于预设第三色温,将与所述预设第三色温相对应的色彩空间转换矩阵和所述第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于所述色温大于所述预设第二色温并且小于或等于所述预设第三色温,执行如下第一操作:

重新计算转换后光源色值;

将与重新计算的转换后光源色值相对应的色温,作为第一目标色温;

响应于最近一次计算得到的色温与上次计算得到的色温之差小于预设数值,基于所述第一目标色温与所述预设第二色温、所述预设第三色温之间的大小关系,确定第四转换矩阵;

响应于所述色温大于或等于所述预设第一色温并且小于所述预设第二色温,执行如下第二操作:

重新计算转换后光源色值;

将与重新计算的转换后光源色值相对应的色温,作为第二目标色温;

响应于最近一次计算得到的色温与上次计算得到的色温之差小于预设数值,基于所述第二目标色温与所述预设第一色温、所述预设第三色温之间的大小关系,确定第四转换矩阵。

可选地,在本公开任一实施例的方法中,所述基于所述色温,确定第四转换矩阵,还包括以下至少一项:

在所述色温大于所述预设第二色温并且小于或等于所述预设第三色温的情况下,响应于最近一次计算得到的色温与上次计算得到的色温之差大于或等于所述预设数值,继续执行所述第一操作:

在所述色温大于或等于所述预设第一色温并且小于所述预设第二色温的情况下,继续执行所述第二操作。

可选地,在本公开任一实施例的方法中,所述获取第一色彩空间下的待处理图像,包括:

获取原始图像;

对所述原始图像的图像掩膜进行腐蚀操作,得到待处理图像,以及将所述原始图像中与所述待处理图像相对应的图像区域作为待处理图像;

将所述待处理图像转换为第一色彩空间下的待处理图像。

可选地,在本公开任一实施例的方法中,所述将所述待处理图像转换为第一色彩空间下的待处理图像,包括:

基于与所述待处理图像相对应的灰度图像,确定用于进行曝光处理的曝光倍率;

采用所述曝光倍率,对所述待处理图像进行曝光处理,生成第一曝光后图像;

基于所述第一曝光后图像,生成第一色彩空间下的待处理图像。

可选地,在本公开任一实施例的方法中,所述基于与所述待处理图像相对应的灰度图像,确定用于进行曝光处理的曝光倍率,包括:

针对预先确定的曝光倍率集合中的曝光倍率,按照从小到大的顺序,依次选取曝光倍率,以及基于所选取的曝光倍率执行如下第一曝光倍率确定操作:

采用所选取的曝光倍率对所述待处理图像进行曝光处理,生成所述待处理图像针对该曝光倍率的第二曝光后图像;

将所述待处理图像针对该曝光倍率的第二曝光后图像转换成灰度图像,生成所述待处理图像针对该曝光倍率的灰度图像;

确定所述待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值是否大于或等于预设亮度阈值;

响应于所述待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值大于或等于所述预设亮度阈值,将所采用的该曝光倍率作为用于进行曝光处理的曝光倍率。

可选地,在本公开任一实施例的方法中,所述方法还包括:

响应于所述待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值小于所述预设亮度阈值,继续按照从小到大的顺序,从所述曝光倍率集合中重新选取曝光倍率,以及基于重新选取的曝光倍率执行所述第一曝光倍率确定操作。

可选地,在本公开任一实施例的方法中,所述基于与所述待处理图像相对应的灰度图像,确定用于进行曝光处理的曝光倍率,包括:

从预先确定的曝光倍率区间中选取曝光倍率,以及基于所选取的曝光倍率执行如下第二曝光倍率确定操作:

采用所选取的曝光倍率对所述待处理图像进行曝光处理,生成所述待处理图像针对该曝光倍率的第二曝光后图像;

将所述待处理图像针对该曝光倍率的第二曝光后图像转换成灰度图像,生成所述待处理图像针对该曝光倍率的灰度图像;

确定所述待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值是否大于或等于预设亮度阈值;

响应于所述待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值大于或等于所述预设亮度阈值,将所采用的该曝光倍率作为用于进行曝光处理的曝光倍率。

可选地,在本公开任一实施例的方法中,所述方法还包括:

响应于所述待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值小于所述预设亮度阈值,从所述曝光倍率区间中重新选取未选取过的曝光倍率,以及基于重新选取的曝光倍率执行所述第二曝光倍率确定操作。

可选地,在本公开任一实施例的方法中,所述基于所述第一曝光后图像,生成第一色彩空间下的待处理图像,包括:

基于所述原始图像的图像大小,对所述第一曝光后图像进行图像划分,得到图像区域集合,以及将所述图像区域集合中的至少一个图像区域作为待处理图像。

可选地,在本公开任一实施例的方法中,所述基于所述偏色限制矩阵,对所述待处理图像进行第五白平衡处理,生成第二白平衡处理后图像,包括:

基于所述偏色限制矩阵,确定与每个待处理图像相对应的目标像素,其中,所述目标像素为待进行白平衡处理的像素;

基于所确定的各个目标像素,对所述待处理图像进行第六白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的方法中,所述方法还包括:

将所述待处理图像中的图像像素,作为有效像素;以及

所述将所述图像区域集合中的至少一个图像区域作为待处理图像,包括:

将所述图像区域集合中的目标图像区域作为待处理图像,其中,目标图像区域中的全部像素的数量与预设百分比的乘积,小于或等于该目标图像区域中的有效像素的数量。

可选地,在本公开任一实施例的方法中,所述基于所确定的各个目标像素,对所述待处理图像进行第六白平衡处理,生成第二白平衡处理后图像,包括:

针对所确定的每个目标像素,基于该目标像素的三通道的色值,确定该目标像素的第一坐标的值和第二坐标的值;

基于该目标像素的第一坐标的值和第二坐标的值,计算在预设坐标系中,该目标像素到预定色温曲线的距离,其中,所述预设坐标系包括第一坐标和第二坐标,所述预定色温曲线表征所述第一坐标的值和所述第二坐标的值之间的对应关系;

基于所确定的目标像素到所述预定色温曲线的距离,对所述待处理图像进行第七白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的方法中,所述基于所确定的目标像素到所述预定色温曲线的距离,对所述待处理图像进行第七白平衡处理,生成第二白平衡处理后图像,包括:

基于所确定的各个目标像素到所述预定色温曲线的距离,确定所确定的各个目标像素对应的权重;

基于所确定的各个目标像素对应的权重,确定目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值;

基于所述目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值,对所述待处理图像进行第八白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的方法中,目标像素的第一坐标的值为该目标像素的蓝色通道的色值与该目标像素的绿色通道的色值的比值,目标像素的第二坐标的值为该目标像素的红色通道的色值与该目标像素的绿色通道的色值的比值;以及

所述方法还包括:

针对预定色温值集合中的每个色温值,采用该色温值为预先确定的标准色卡中的每个标准色卡分别拍摄预定数量张图片;

计算拍摄得到的图片中的像素的第一坐标的值和第二坐标的值;其中,像素的第一坐标的值为该像素的蓝色通道的色值均值与绿色通道的色值均值的比值;像素的第二坐标的值为该像素的红色通道的色值均值与绿色通道的色值均值的比值;像素的红色通道的色值均值为:同一色温值下同一标准色卡的所述预定数量张图片中与该像素相对应的各个像素的红色通道的色值的平均值;像素的绿色通道的色值均值为:同一色温值下同一标准色卡的所述预定数量张图片中与该像素相对应的各个像素的绿色通道的色值的平均值;像素的蓝色通道的色值均值为:同一色温值下同一标准色卡的所述预定数量张图片中与该像素相对应的各个像素的蓝色通道的色值的平均值;

基于计算得到的像素的第一坐标的值和第二坐标的值,生成预定色温曲线。

根据本公开实施例的第二个方面,提供的一种图像的白平衡处理装置,包括:

获取单元,被配置成获取第一色彩空间下的待处理图像;

第一光源估计单元,被配置成对所述待处理图像进行光源估计,得到第一光源估计结果;

第一生成单元,被配置成基于所述第一光源估计结果对所述待处理图像进行第一白平衡处理,生成第一白平衡处理后图像;

转换单元,被配置成将所述第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像;

第二光源估计单元,被配置成对所述转换后图像进行光源估计,得到第二光源估计结果;

第二生成单元,被配置成基于所述第一光源估计结果和所述第二光源估计结果,对所述待处理图像进行第二白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的装置中,所述第二生成单元进一步被配置成:

基于所述第一光源估计结果,确定第一转换矩阵,其中,所述第一转换矩阵用于将所述待处理图像转换为所述待处理图像的白平衡处理后图像;

基于所述第二光源估计结果,确定第二转换矩阵,其中,所述第二转换矩阵用于将所述转换后图像转换为所述转换后图像的白平衡处理后图像;

基于所述第一转换矩阵和所述第二转换矩阵,对所述待处理图像进行第三白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的装置中,所述第二生成单元进一步被配置成:

基于所述第一转换矩阵、所述第二转换矩阵和第三转换矩阵,对所述待处理图像进行第四白平衡处理,生成第二白平衡处理后图像,其中,所述第三转换矩阵用于将所述第一色彩空间下的图像转换为所述第二色彩空间下的图像。

可选地,在本公开任一实施例的装置中,所述第二生成单元进一步被配置成:

基于所述第一转换矩阵、所述第二转换矩阵和第三转换矩阵,确定所述第一转换矩阵的偏色限制矩阵;

基于所述偏色限制矩阵,对所述待处理图像进行第五白平衡处理,生成第二白平衡处理后图像。

可选地,在本公开任一实施例的装置中,所述第一光源估计结果包括光源的色值;以及

所述转换单元进一步被配置成:

对所述光源的色值进行归一化处理,得到归一化后光源色值;

将所述归一化后光源色值转换为所述第一色彩空间下的光源色值,得到转换后光源色值;

计算与所述转换后光源色值相对应的色温;

基于所述色温,确定第四转换矩阵,其中,所述第四转换矩阵用于将所述第一色彩空间下的图像的白平衡处理后的图像的色彩空间转换为第二色彩空间;

基于所述第四转换矩阵,将所述第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

可选地,在本公开任一实施例的装置中,所述转换单元进一步被配置成:

响应于所述色温小于预设第一色温,将与所述预设第一色温相对应的色彩空间转换矩阵和所述第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于所述色温等于预设第二色温,将与所述预设第二色温相对应的色彩空间转换矩阵和所述第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于所述色温大于预设第三色温,将与所述预设第三色温相对应的色彩空间转换矩阵和所述第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于所述色温大于所述预设第二色温并且小于或等于所述预设第三色温,执行如下第一操作:

重新计算转换后光源色值;

将与重新计算的转换后光源色值相对应的色温,作为第一目标色温;

响应于最近一次计算得到的色温与上次计算得到的色温之差小于预设数值,基于所述第一目标色温与所述预设第二色温、所述预设第三色温之间的大小关系,确定第四转换矩阵;

响应于所述色温大于或等于所述预设第一色温并且小于所述预设第二色温,执行如下第二操作:

重新计算转换后光源色值;

将与重新计算的转换后光源色值相对应的色温,作为第二目标色温;

响应于最近一次计算得到的色温与上次计算得到的色温之差小于预设数值,基于所述第二目标色温与所述预设第一色温、所述预设第三色温之间的大小关系,确定第四转换矩阵。

可选地,在本公开任一实施例的装置中,所述转换单元进一步被配置成:

在所述色温大于所述预设第二色温并且小于或等于所述预设第三色温的情况下,响应于最近一次计算得到的色温与上次计算得到的色温之差大于或等于所述预设数值,继续执行所述第一操作:

在所述色温大于或等于所述预设第一色温并且小于所述预设第二色温的情况下,继续执行所述第二操作。

可选地,在本公开任一实施例的装置中,所述获取单元进一步被配置成:

获取原始图像;

对所述原始图像的图像掩膜进行腐蚀操作,得到腐蚀后图像,以及将所述原始图像中与所述腐蚀后图像相对应的图像区域作为待处理图像;

将所述待处理图像转换为第一色彩空间下的待处理图像。

可选地,在本公开任一实施例的装置中,所述获取单元进一步被配置成:

基于与所述待处理图像相对应的灰度图像,确定用于进行曝光处理的曝光倍率;

采用所述曝光倍率,对所述待处理图像进行曝光处理,生成第一曝光后图像;

基于所述第一曝光后图像,生成第一色彩空间下的待处理图像。

根据本公开实施例的第三个方面,提供的一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述第一方面的图像的白平衡处理方法中任一实施例的方法。

根据本公开实施例的第四个方面,提供的一种计算机可读介质,该计算机程序被处理器执行时,实现如上述第一方面的图像的白平衡处理方法中任一实施例的方法。

根据本公开实施例的第五个方面,提供的一种计算机程序,该计算机程序包括计算机可读代码,当该计算机可读代码在设备上运行时,使得该设备中的处理器执行用于实现如上述第一方面的图像的白平衡处理方法中任一实施例的方法中各步骤的指令。

基于本公开上述实施例提供的图像的白平衡处理方法、装置、电子设备和存储介质,可以获取第一色彩空间下的待处理图像,然后,对待处理图像进行光源估计,得到第一光源估计结果,之后,基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像,随后,将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像,接下来,对转换后图像进行光源估计,得到第二光源估计结果,最后,基于第一光源估计结果和第二光源估计结果,对待处理图像进行第二白平衡处理,生成第二白平衡处理后图像。本公开实施例可以结合第一光源估计结果和第二光源估计结果实现白平衡处理,由此,提高了图像白平衡处理的准确性。

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1为本公开图像的白平衡处理方法的第一个实施例的流程图。

图2为本公开图像的白平衡处理方法的第二个实施例的流程图。

图3为本公开图像的白平衡处理方法的第三个实施例的流程图。

图4为本公开图像的白平衡处理方法的一个实施例中的色温曲线的生成过程示意图。

图5为本公开图像的白平衡处理装置的一个实施例的结构示意图。

图6是本公开一示例性实施例提供的电子设备的结构图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于终端设备、计算机系统和服务器中的至少一种电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统和服务器中的至少一种电子设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统和服务器中的至少一种电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

请参考图1,示出了根据本公开的图像的白平衡处理方法的第一个实施例的流程100。该图像的白平衡处理方法,包括:

101,获取第一色彩空间下的待处理图像。

在本实施例中,图像的白平衡处理方法的执行主体(例如服务器、终端设备、具有图像处理功能的图像处理单元等)可以通过有线连接方式或者无线连接方式从其他电子设备或者本地获取第一色彩空间下的待处理图像。

其中,上述待处理图像可以是待对其进行白平衡处理的图像。示例性的,该待处理图像可以是原始图像(例如raw图像文件),也可以是基于原始图像得到的图像,还可以是经过腐蚀操作等处理后得到的图像。

上述第一色彩空间可以是预先确定的任一色彩空间。作为示例,第一色彩空间可以是NativeXYZ(原始空间,即图像没有做任何变换时的色彩空间)。

102,对待处理图像进行光源估计,得到第一光源估计结果。

在本实施例中,上述执行主体可以对101中获得的待处理图像进行光源估计,得到第一光源估计结果。

其中,上述执行主体可以采用各种光源估计算法对101中获得的待处理图像进行光源估计,此处不做限定。

103,基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像。

在本实施例中,上述执行主体可以基于102中得到的第一光源估计结果对101中获得的待处理图像进行白平衡处理(即第一白平衡处理),生成第一白平衡处理后图像。

作为示例,上述执行主体可以采用如下方式执行上述103:

假设第一光源估计结果为rgb,待处理图像的矩阵为Ii’,那么,第一白平衡处理后图像IIi可以采用如下方式获得:

IIi = Ii’* rgb’,其中,rgb’=max(rgb)/rgb

可以理解,上述rgb可以为包含3个元素的矩阵,max(rgb)为该3个元素r、g、b中的最大值。

104,将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

在本实施例中,上述执行主体可以将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

其中,第二色彩空间可以是预先确定的与上述第一色彩空间不同的任一色彩空间。作为示例,第二色彩空间可以是sRGB(标准红绿蓝,standard Red Green Blue)色彩空间。

在这里,上述执行主体可以采用各种方式执行上述104,例如,可以采用用于将第一白平衡处理后图像的色彩空间转换为第二色彩空间的转换矩阵,得到转换后图像。

105,对转换后图像进行光源估计,得到第二光源估计结果。

在本实施例中,上述执行主体可以对转换后图像进行光源估计,得到第二光源估计结果。

其中,上述执行主体可以采用各种光源估计算法对转换后图像进行光源估计。在105中所采用的光源估计算法可以与102中所采用的光源估计算法相同或者不同。

106,基于第一光源估计结果和第二光源估计结果,对待处理图像进行第二白平衡处理,生成第二白平衡处理后图像。

在本实施例中,上述执行主体可以基于102中得到的第一光源估计结果和105中得到的第二光源估计结果,对待处理图像进行白平衡处理(即第二白平衡处理),生成第二白平衡处理后图像。

作为示例,上述执行主体可以将上述第一光源估计结果和上述第二光源估计结果和对待处理图像输入预先训练的第一白平衡处理模型,从而通过该第一白平衡处理模型,生成第二白平衡处理后图像。其中,上述第一白平衡处理模型可以是采用包含第一样本光源估计结果、第二样本光源估计结果、样本待处理图像和第二样本白平衡处理后图像的训练样本,训练得到的卷积神经网络。

本公开的上述实施例提供的图像的白平衡处理方法,可以获取第一色彩空间下的待处理图像,然后,对待处理图像进行光源估计,得到第一光源估计结果,之后,基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像,随后,将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像,接下来,对转换后图像进行光源估计,得到第二光源估计结果,最后,基于第一光源估计结果和第二光源估计结果,对待处理图像进行白平衡处理(即第三白平衡处理),生成第二白平衡处理后图像。本公开实施例可以结合第一光源估计结果和第二光源估计结果实现白平衡处理,由此,提高了图像白平衡处理的准确性。

在本实施例的一些可选的实现方式中,上述执行主体可以采用如下方式执行上述101,以获取第一色彩空间下的待处理图像:

步骤一,获取原始图像。

其中,原始图像可以包括从数码相机、扫描器或电影胶片扫描仪的图像传感器所处理的图像数据。可以理解,原始图像通常为尚未被处理或未被编辑的图像。

步骤二,对所述原始图像的图像掩膜进行腐蚀操作,得到腐蚀后图像,以及将所述原始图像中与所述腐蚀后图像相对应的图像区域作为待处理图像。

在这里,上述执行主体可以采用各种方式来进行腐蚀操作,在此不作限定。例如,在待处理图像为经过腐蚀操作等处理后得到的图像的情况下,可以采用如下方式获得待处理图像:将原始图像对应的图像掩膜(edge_mask,一种二值化的图像)中值为0的点所对应的原始图像的数据去除掉,不计入之后的计算。也即,将去除掉原始图像的数据中,图像掩膜中值为0的点所对应的原始图像的数据,从而得到经过腐蚀操作的待处理图像。

步骤三,将待处理图像转换为第一色彩空间下的图像,将转换后的图像作为待处理图像。

在这里,上述执行主体可以通过用于将待处理图像转换为第一色彩空间下的待处理图像的转换矩阵,实现上述步骤三;也可以经由预先训练的转换模型,将待处理图像转换为第一色彩空间下的待处理图像。其中,上述转换模型可以是采用机器学习算法,基于包括腐蚀后样本图像和与待处理图像转换为第一色彩空间下的样本图像的训练样本,训练得到的卷积神经网络模型。

可以理解,上述可选的实现方式中的待处理图像为经过腐蚀操作处理后的待处理图像,因此,可以消除外边界对白平衡处理的影响,进而提高白平衡处理的准确性。

在上述可选的实现方式中的一些应用场景下,上述执行主体可以采用如下方式执行上述步骤三,以将待处理图像转换为第一色彩空间下的待处理图像:

第一步骤,基于与待处理图像相对应的灰度图像,确定用于进行曝光处理的曝光倍率。

其中,与待处理图像相对应的灰度图像可以是将待处理图像转化成的灰度图像。可选的,与待处理图像相对应的灰度图像也可以采用如下方式获得:采用某个曝光倍率对待处理图像进行曝光处理,生成该待处理图像的曝光后图像,然后,将该曝光后图像转换成灰度图像,将转换后得到的灰度图像,作为与该待处理图像相对应的灰度图像。这里,上述曝光倍率可以是预先确定的曝光倍率,也可以是使得曝光处理后的曝光后图像转换成的灰度图像中的各个像素的亮度的均值大于或等于预设阈值的曝光倍率。

第二步骤,采用曝光倍率,对待处理图像进行曝光处理,生成第一曝光后图像。

作为示例,上述执行主体可以将待处理图像中的各个像素的值(例如单通道的值或三通道的值)乘以上述曝光倍率,以实现对待处理图像的曝光处理,从而得到第一曝光后图像。

第三步骤,基于第一曝光后图像,生成第一色彩空间下的待处理图像。

作为示例,上述执行主体可以将上述第一曝光后图像转换为第一色彩空间下的图像,将转换后得到的图像,作为第一色彩空间下的待处理图像。

可以理解,上述应用场景中,可以基于与待处理图像相对应的灰度图像,来确定曝光倍率,并采用该曝光倍率对待处理图像进行曝光处理得到曝光后图像,进而对待处理图像进行白平衡处理,从而可以针对不同的待处理图像,确定出不同的用于对待处理图像进行曝光处理的曝光倍率,进而基于曝光后图像对待处理图像进行白平衡处理,由此,提高了图像白平衡处理的准确性。

在上述应用场景中的一些情况下,上述执行主体可以采用如下方式,执行上述第一步骤,以基于与待处理图像相对应的灰度图像,确定用于进行曝光处理的曝光倍率:

针对预先确定的曝光倍率集合中的曝光倍率,按照从小到大的顺序,依次选取曝光倍率,以及基于所选取的曝光倍率执行如下第一曝光倍率确定操作。其中,第一曝光倍率确定操作可以包括如下第一子步骤、第二子步骤、第三子步骤和第四子步骤。

例如,如果曝光倍率集合中包括如下曝光倍率:1、4、16、64,那么,首次选取时,上述执行主体可以选取1作为所选取的曝光倍率;第二次选取时,上述执行主体可以选取4作为所选取的曝光倍率;第三次选取时,上述执行主体可以选取16作为所选取的曝光倍率;第四次选取时,上述执行主体可以选取64作为所选取的曝光倍率。

这里,每选取一次曝光倍率即可执行一次后续步骤(即第一子步骤、第二子步骤、第三子步骤和第四子步骤),从而得到用于进行曝光处理的曝光倍率。

第一子步骤,采用所选取的曝光倍率对待处理图像进行曝光处理,生成待处理图像针对该曝光倍率的第二曝光后图像。

这里,对图像进行曝光处理的方式可以参考以上描述,在此不再赘述。

第二子步骤,将待处理图像针对该曝光倍率的第二曝光后图像转换成灰度图像,生成待处理图像针对该曝光倍率的灰度图像。

作为示例,在第二曝光后图像为RGB三通道图像的情况下,上述执行主体可以基于第二曝光后图像的像素的三个通道的色值的加权求和的结果,或者,基于第二曝光后图像的像素的三个通道的色值的平均值,生成待处理图像针对该曝光倍率的灰度图像。

第三子步骤,确定待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值是否大于或等于预设亮度阈值。其中,灰度图像中的像素点的亮度可以为该灰度图像中的像素点的灰度。

第四子步骤,在待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值大于或等于预设亮度阈值的情况下,将所采用的该曝光倍率作为用于进行曝光处理的曝光倍率。

可选的,在上述情况下,在待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值小于预设亮度阈值的情况下,上述执行主体还可以继续按照从小到大的顺序,从曝光倍率集合中重新选取曝光倍率,以及基于重新选取的曝光倍率执行第一曝光倍率确定操作。

可以理解,在上述情况中,可以选取出使得待处理图像对应的灰度图像的亮度均值较大的曝光倍率集合中的最小的曝光倍率,由此,既可以达到曝光处理的效果,又可以一定程度上防止将待处理图像过度曝光,因而可以进一步提高图像白平衡处理的准确度和鲁棒性。

可选的,在上述情况下,上述执行主体还采用如下方式执行上述第一步骤,以基于与待处理图像相对应的灰度图像,确定用于进行曝光处理的曝光倍率:

从预先确定的曝光倍率区间中选取曝光倍率,以及基于所选取的曝光倍率执行如下第二曝光倍率确定操作,其中,第二曝光倍率确定操作包括子步骤一、子步骤二、子步骤三和子步骤四。

子步骤一,采用所选取的曝光倍率对待处理图像进行曝光处理,生成待处理图像针对该曝光倍率的第二曝光后图像。

在这里,可以从上述曝光倍率区间中随机选取曝光倍率,也可以每间隔预定数值(例如1、2等),按照从大到小或从小到大的顺序进行曝光倍率的选取。

作为示例,上述执行主体可以将101中所获取的待处理图像待处理图像中的各个像素的值(例如单通道的值或三通道的值)乘以所选取的曝光倍率,从而生成待处理图像针对该曝光倍率的第二曝光后图像。

子步骤二,将待处理图像针对该曝光倍率的第二曝光后图像转换成灰度图像,生成待处理图像针对该曝光倍率的灰度图像。

在这里,上述执行主体可以采用多种方式,将待处理图像针对该曝光倍率的第二曝光后图像转换成灰度图像。

作为示例,在待处理图像为RGB三通道图像的情况下,上述执行主体可以基于待处理图像的像素的三个通道的色值的加权求和的结果,或者,基于待处理图像的像素的三个通道的色值的平均值,生成待处理图像针对该曝光倍率的灰度图像,并将其作为待处理图像针对该曝光倍率的第二曝光后图像转换成的灰度图像。

子步骤三,确定待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值是否大于或等于预设亮度阈值。

子步骤四,在待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值大于或等于预设亮度阈值的情况下,将所采用的该曝光倍率作为用于进行曝光处理的曝光倍率。

可选的,在待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值小于预设亮度阈值的情况下,上述执行主体还可以从曝光倍率区间中重新选取未选取过的曝光倍率,以及基于重新选取的曝光倍率,执行上述第二曝光倍率确定操作。

可以理解,在待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值小于预设亮度阈值的情况下,则不采用该曝光倍率对待处理图像进行曝光处理,而是重新选取未选取过的曝光倍率,直至选取出能够使得待处理图像针对该曝光倍率的灰度图像中的像素点的亮度均值大于或等于预设亮度阈值的曝光倍率,由此,可以确保采用所确定的曝光倍率对待处理图像进行曝光处理后,得到的曝光后图对应的灰度图像具有较高亮度,进而可以基于像素的值较大的第一曝光后图像,对待处理图像进行白平衡处理,从而可以进一步提高白平衡处理的准确度。

在上述应用场景中的一些情况下,上述执行主体可以采用如下方式执行上述第三步骤,以基于第一曝光后图像,生成第一色彩空间下的待处理图像:

基于原始图像的图像大小,对第一曝光后图像进行图像划分,得到图像区域集合,以及将图像区域集合中的至少一个图像区域作为待处理图像。

其中,可以根据实际需求,确定图像划分数量,例如,图像划分数量可以与原始图像的大小成正相关或负相关。

在这里,可以将图像区域集合中的部分或全部图像区域作为待处理图像。

可以理解,上述情况下,通过对第一曝光后图像进行图像划分,并分别对确定为待处理图像的图像区域进行白平衡处理,从而针对各个待处理图像的不同特点进行更具针对性的白平衡处理,由此进一步提高了图像白平衡处理的准确度。

可选的,在进行腐蚀操作,得到待处理图像之后,上述执行主体还可以将待处理图像相对于原始图像被腐蚀的图像区域中的像素,作为无效像素;将待处理图像相对于原始图像未被腐蚀的图像像素,作为有效像素。基于此,上述将图像区域集合中的至少一个图像区域作为待处理图像,具体可以是:将图像区域集合中的目标图像区域作为待处理图像,其中,目标图像区域中的全部像素的数量与预设百分比的乘积,小于或等于该目标图像区域中的有效像素的数量。

在上述应用场景中的一些情况下,上述执行主体可以采用如下方式执行上述第二步骤,以基于所确定的目标图像区域,确定用于进行白平衡处理的目标像素,其中,目标像素为待进行白平衡处理的像素:

将所确定的目标图像区域中,符合预设条件的像素,确定为用于进行白平衡处理的目标像素。其中,预设条件包括:原始图像中与该像素相对应的像素的单通道数值大于第一预设阈值,并且,待处理图像中与该像素相对应的像素的三通道数值之和小于第二预设阈值。

可以理解,上述情况中,仅根据符合预设条件的像素,确定为用于进行白平衡处理的目标像素,排除了不符合上述预设条件的像素对图像白平衡处理的影响,从而可以避免暗部噪声以及过亮非线性区域对白平衡的影响,由此,进一步提高了图像白平衡处理的准确度。

可选的,上述执行主体也可以采用如下方式执行上述第二步骤,以基于所确定的目标图像区域,确定用于进行白平衡处理的目标像素:基于所确定的目标图像区域中的全部目标像素,确定用于进行白平衡处理的目标像素。

可以理解,上述应用场景中,可以仅基于目标图像区域中的像素,来确定用于进行白平衡处理的目标像素,排除了无效像素较多的非目标图像区域中的像素对图像白平衡处理的影响,由此,进一步提高了图像白平衡处理的准确度。

可选的,上述执行主体还可以采用如下方式基于所确定的各个目标像素,对待处理图像进行白平衡处理(即第六白平衡处理),生成第二白平衡处理后图像:

首先,针对所确定的每个目标像素,基于该目标像素的三通道的色值,确定该目标像素的第一坐标的值和第二坐标的值。

其中,目标像素的三通道的色值可以包括红色通道的色值、蓝色通道的色值和绿色通道的色值。

这里,可以根据实际需要来确定如何计算该目标像素的第一坐标的值和第二坐标的值。

作为示例,第一坐标的值可以是红色通道的色值与蓝色通道的色值的比值,第二坐标的值可以是红色通道的色值与绿色通道的色值的比值。可选的,第一坐标的值也可以是蓝色通道的色值与红色通道的色值的比值,第二坐标的值也可以是绿色通道的色值与红色通道的色值的比值等等。

然后,基于该目标像素的第一坐标的值和第二坐标的值,计算在预设坐标系中,该目标像素到预定色温曲线的距离。其中,预设坐标系包括第一坐标和第二坐标,预定色温曲线表征第一坐标的值和第二坐标的值之间的对应关系。

最后,基于所确定的目标像素到预定色温曲线的距离,对待处理图像进行白平衡处理(即第七白平衡处理),生成第二白平衡处理后图像。

在上述应用场景中的一些情况下,上述执行主体可以采用如下方式执行上述第三步骤,以基于所确定的目标像素到预定色温曲线的距离,对待处理图像进行白平衡处理,生成白平衡处理后图像:

首先,基于所确定的各个目标像素到预定色温曲线的距离,确定所确定的各个目标像素对应的权重。

示例性的,目标像素对应的权重可以与目标像素到预定色温曲线的距离呈正相关或负相关。

然后,基于所确定的各个目标像素对应的权重,确定目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值。

其中,目标像素可以是用以进行白平衡处理的目标像素。

示例性的,可以通过如下公式确定目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值:

其中,R为目标像素的红色通道的色值,G为目标像素的绿色通道的色值,B为目标像素的蓝色通道的色值,i用于唯一标识所确定的目标像素,W

可选的,上述执行主体还可以采用如下方式,基于所确定的各个目标像素对应的权重,确定目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值:

其中,R为目标像素的红色通道的色值,G为目标像素的绿色通道的色值,B为目标像素的蓝色通道的色值,i用于唯一标识所确定的目标像素,W

之后,基于目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值,以及待处理图像,生成白平衡处理后图像。

作为示例,上述执行主体可以首先确定目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值中,数值最大的色值。然后,采用上述数值最大的色值,除以目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值构成的矩阵,得到第一矩阵。之后,将待处理图像的图像矩阵与上述第一矩阵的卷积的结果,作为白平衡处理后图像。

可选的,上述执行主体还可以采用如下方式,基于目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值,以及待处理图像,生成白平衡处理后图像:

首先,基于腐蚀操作和曝光处理中的至少一项操作,对待处理图像进行处理,得到处理后图像。然后,确定目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值中,数值最大的色值。随后,采用上述数值最大的色值,除以目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值构成的矩阵,得到第一矩阵。之后,将上述处理后图像的图像矩阵与上述第一矩阵的卷积运算的结果,作为白平衡处理后图像。

可以理解,上述情况下,可以基于所确定的各个目标像素对应的权重,对待处理图像进行白平衡处理,由此,可以基于各个目标像素对应的权重进行白平衡处理,因而可以进一步提高最终生成的白平衡处理后图像中的目标像素的鲁棒性和准确性。

可选的,上述执行主体也可以采用如下方式执行上述第三步骤,以基于所确定的目标像素到预定色温曲线的距离,对待处理图像进行白平衡处理,生成白平衡处理后图像:

基于所确定的目标像素到预定色温曲线的距离,确定出拍摄待处理图像时的色温,进而,基于该色温对待处理图像进行白平衡处理,生成白平衡处理后图像。

可以理解,上述应用场景中,可以基于所确定的目标像素到预定色温曲线的距离,对待处理图像进行白平衡处理,由此通过预定色温曲线来辅助进行白平衡处理,可以进一步提高白平衡处理的准确度。

进一步参考图2,图2是本公开的图像的白平衡处理方法的第二个实施例的流程图。该图像的白平衡处理方法的流程200,包括:

201,获取第一色彩空间下的待处理图像。

在本实施例中,图像的白平衡处理方法的执行主体(例如服务器、终端设备、具有图像处理功能的图像处理单元等)可以通过有线连接方式或者无线连接方式从其他电子设备或者本地,获取第一色彩空间下的待处理图像。

202,对待处理图像进行光源估计,得到第一光源估计结果。

在本实施例中,上述执行主体可以对待处理图像进行光源估计,得到第一光源估计结果。

203,基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像。

在本实施例中,上述执行主体可以基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像。

204,将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

在本实施例中,上述执行主体可以将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

205,对转换后图像进行光源估计,得到第二光源估计结果。

在本实施例中,上述执行主体可以对转换后图像进行光源估计,得到第二光源估计结果。

在本实施例中,201-205分别与图1对应实施例中的101-105基本一致,这里不再赘述。

206,基于第一光源估计结果,确定第一转换矩阵。

在本实施例中,上述执行主体可以基于第一光源估计结果,确定第一转换矩阵。其中,第一转换矩阵用于将待处理图像转换为待处理图像的白平衡处理后图像。

作为示例,如果第一光源估计结果采用包含三个元素的矩阵

其中,

207,基于第二光源估计结果,确定第二转换矩阵。

在本实施例中,上述执行主体可以基于第二光源估计结果,确定第二转换矩阵。其中,第二转换矩阵转换后图像转换为转换后图像的白平衡处理后图像。

作为示例,如果第一光源估计结果采用包含三个元素的矩阵

其中,

208,基于第一转换矩阵和第二转换矩阵,对待处理图像进行第三白平衡处理,生成第二白平衡处理后图像。

在本实施例中,上述执行主体可以基于第一转换矩阵和第二转换矩阵,对待处理图像进行白平衡处理(即第三白平衡处理),生成第二白平衡处理后图像。

在本实施例的一些可选的实现方式中,上述执行主体可以采用如下方式执行上述208,以基于第一转换矩阵和第二转换矩阵,对待处理图像进行白平衡处理(即第三白平衡处理),生成第二白平衡处理后图像:

基于第一转换矩阵、第二转换矩阵和第三转换矩阵,对待处理图像进行白平衡处理(即第四白平衡处理),生成第二白平衡处理后图像。其中,第三转换矩阵用于将第一色彩空间下的图像转换为第二色彩空间下的图像。

作为示例,上述执行主体可以采用如下方式,生成第二白平衡处理后图像的矩阵:

将第一转换矩阵、第二转换矩阵、第三转换矩阵以及待处理图像输入至预先训练的第二白平衡处理模型,从而通过该第二白平衡处理模型生成第二白平衡处理后图像。其中,上述第二白平衡处理模型可以是采用包含第一样本转换矩阵、第二样本转换矩阵、第三样本转换矩阵、样本待处理图像和第二样本白平衡处理后图像的训练样本,训练得到的卷积神经网络。

可以理解,上述可选的实现方式中,可以基于第一转换矩阵、第二转换矩阵和第三转换矩阵,对待处理图像进行白平衡处理。这样,可以进一步提高白平衡处理的准确度。

在上述可选的实现方式的一些应用场景下,上述执行主体可以采用如下方式,基于第一转换矩阵、第二转换矩阵和第三转换矩阵,对待处理图像进行白平衡处理,生成第二白平衡处理后图像:

首先,基于第一转换矩阵、第二转换矩阵和第三转换矩阵,确定第一转换矩阵的偏色限制矩阵。其中,偏色限制矩阵可以用于对第一转换矩阵对图像产生的偏色影响进行限制。

作为示例,上述执行主体可以采用如下方式,来确定第一转换矩阵的偏色限制矩阵:

首先,将第二光源估计结果反馈作用到第一光源估计结果上,其计算过程具体目标是指通过对第一转换矩阵T

其中,

这样做的原因是:如果第三转换矩阵M对白平衡处理的影响比较大,或者是对白平衡处理的结果很敏感,那么,则需要在进行白平衡处理前,也就是

由于

通过解上式可以求得:

其中,

最终的经过矩阵M进行色彩空间转换后的图像

这样相当于在使用

由此,上述执行主体可以基于偏色限制矩阵,对待处理图像进行白平衡处理(即第五白平衡处理),生成第二白平衡处理后图像。

作为示例,上述执行主体可以将偏色限制矩阵和待处理图像输入至预先训练的第三白平衡处理模型,从而通过该第三白平衡处理模型,生成第二白平衡处理后图像。其中,上述第三白平衡处理模型可以是采用包含样本偏色限制矩阵、样本待处理图像和第二样本白平衡处理后图像的训练样本,训练得到的卷积神经网络。

可以理解,上述可选的实现方式中,可以基于偏色限制矩阵,对待处理图像进行白平衡处理。这样,可以进一步提高白平衡处理的准确度。

在上述应用场景下的一些情况中,上述执行主体还可以采用如下方式基于偏色限制矩阵,对待处理图像进行白平衡处理,生成第二白平衡处理后图像:

首先,基于偏色限制矩阵,确定与每个待处理图像相对应的目标像素。

这里,每个待处理图像可以对应一个偏色限制矩阵,每个待处理图像可以对应一个目标像素。

示例性的,可以基于偏色矩阵中的各个元素,来确定待处理图像对应的目标像素的RGB色值。例如,当偏色限制矩阵

然后,基于所确定的各个目标像素,对待处理图像进行白平衡处理(即第六白平衡处理),生成第二白平衡处理后图像。

作为示例,上述执行主体可以将所确定的各个目标像素和待处理图像输入至预先训练的第四白平衡处理模型,从而通过该第四白平衡处理模型,生成第二白平衡处理后图像。其中,上述第四白平衡处理模型可以是采用包含多个样本目标像素、样本待处理图像和第二样本白平衡处理后图像的训练样本,训练得到的卷积神经网络。

需要说明的是,除上面所记载的内容外,本公开实施例还可以包括与图1对应的实施例相同或类似的特征、效果,在此不再赘述。

从图2中可以看出,本实施例中的图像的白平衡处理方法的流程200可以基于第一转换矩阵和第二转换矩阵,对待处理图像进行白平衡处理,由此,提高了白平衡处理的准确度和速度。

请继续参考图3,图3是本公开的图像的白平衡处理方法的第三个实施例的流程图。该图像的白平衡处理方法的流程300,包括:

301,获取第一色彩空间下的待处理图像。

在本实施例中,图像的白平衡处理方法的执行主体(例如服务器、终端设备、具有图像处理功能的图像处理单元等)可以通过有线连接方式或者无线连接方式从其他电子设备或者本地获取第一色彩空间下的待处理图像。

302,对待处理图像进行光源估计,得到第一光源估计结果。

在本实施例中,上述执行主体可以对待处理图像进行光源估计,得到第一光源估计结果。其中,第一光源估计结果包括光源的色值。

303,基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像。

在本实施例中,上述执行主体可以基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像。

304,对光源的色值进行归一化处理,得到归一化后光源色值。

在本实施例中,上述执行主体可以对光源的色值进行归一化处理,得到归一化后光源色值。

作为示例,上述执行主体可以采用如下方式对光源的色值进行归一化处理:

RGB'= RGB / sum(RGB)

其中,RGB'表征归一化后光源色值,RGB表征归一化处理前的光源的色值,sum(RGB)的结果为色值R、G、B、三者的和。

305,将归一化后光源色值转换为第一色彩空间下的光源色值,得到转换后光源色值。

在本实施例中,上述执行主体可以将归一化后光源色值转换为第一色彩空间下的光源色值,得到转换后光源色值。

作为示例,当第一色彩空间为XYZ空间时,上述执行主体可以采用如下方式,将归一化后光源色值转换为第一色彩空间下的光源色值:

XYZ = CM1 * RGB'

其中,XYZ表征转换后光源色值,RGB'归一化后光源色值,CM1表征用于将归一化后光源色值转换为第一色彩空间下的光源色值的转换矩阵。

306,计算与转换后光源色值相对应的色温。

在本实施例中,上述执行主体可以计算与转换后光源色值相对应的色温。

作为示例,上述执行主体可以根据预先建立的对应关系表,确定与转换后光源色值相对应的色温。

307,基于色温,确定第四转换矩阵。

在本实施例中,上述执行主体可以基于306中计算得到的色温,确定第四转换矩阵。其中,第四转换矩阵用于将第一色彩空间下的图像的白平衡处理后的图像的色彩空间转换为第二色彩空间。

作为示例,可以将306中计算得到的色温输入至预先训练的矩阵确定模型,得到第四转换矩阵。其中,上述矩阵确定模型可以是基于包括样本色温和样本第四转换矩阵的训练样本集,训练得到的卷积神经网络。

308,基于第四转换矩阵,将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

在本实施例中,上述执行主体可以基于第四转换矩阵,将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

作为示例,可以将第四转换矩阵和第一白平衡处理后图像,输入至预先训练的转换模型,得到转换后图像。其中,上述转换模型可以是基于包括样本第四转换矩阵和样本第一白平衡处理后图像的训练样本集,训练得到的卷积神经网络。

309,对转换后图像进行光源估计,得到第二光源估计结果。

在本实施例中,上述执行主体可以对转换后图像进行光源估计,得到第二光源估计结果。

310,对转换后图像进行光源估计,得到第二光源估计结果。

在本实施例中,上述执行主体可以对转换后图像进行光源估计,得到第二光源估计结果。

在本实施例中,301、302、303、309、310分别与图1对应实施例中的101、102、103、105、106基本一致,这里不再赘述。

在本实施例的一些可选的实现方式中,上述执行主体可以采用如下方式,基于色温,确定第四转换矩阵,包括:

响应于色温小于预设第一色温,将与预设第一色温相对应的色彩空间转换矩阵和第三转换矩阵相乘的结果,确定为第四转换矩阵。

响应于色温等于预设第二色温,将与预设第二色温相对应的色彩空间转换矩阵和第三转换矩阵相乘的结果,确定为第四转换矩阵。

响应于色温大于预设第三色温,将与预设第三色温相对应的色彩空间转换矩阵和第三转换矩阵相乘的结果,确定为第四转换矩阵。

响应于色温大于预设第二色温并且小于或等于预设第三色温,执行第一操作。其中,第一操作可以包括如下步骤一值步骤三。

步骤一,重新计算转换后光源色值。

步骤二,将与重新计算的转换后光源色值相对应的色温,作为第一目标色温。

步骤三,在最近一次计算得到的色温与上次计算得到的色温之差小于预设数值的情况下,基于上述第一目标色温与预设第二色温、预设第三色温之间的大小关系,确定第四转换矩阵。

响应于色温大于或等于预设第一色温并且小于预设第二色温,执行如下第二操作,其中,第二操作包括如下第一步骤至第三步骤:

第一步骤,重新计算转换后光源色值。

第二步骤,将与重新计算的转换后光源色值相对应的色温,作为第二目标色温。

第三步骤,在最近一次计算得到的色温与上次计算得到的色温之差小于预设数值的情况下,基于上述第二目标色温与预设第一色温、预设第三色温之间的大小关系,确定第四转换矩阵。

可选的,在色温大于预设第二色温并且小于或等于预设第三色温的情况下,如果最近一次计算得到的色温与上次计算得到的色温之差大于或等于预设数值,那么上述执行主体可以继续执行上述第一操作。

可选的,在色温大于或等于预设第一色温并且小于预设第二色温的情况下,上述执行主体可以继续执行第二操作。

可以理解,上述可选的实现方式可以通过确定色温、预设第一色温、预设第二色温和预设第三色温之间的大小关系,采用不同的方式来确定第四转换矩阵,从而通过后续步骤进一步提高了白平衡处理的准确性。

作为示例,请进一步参考图4,图4为本公开图像的白平衡处理方法的一个实施例中的色温曲线的生成过程示意图。在目标像素的第一坐标的值为该目标像素的蓝色通道的色值与该目标像素的绿色通道的色值的比值,目标像素的第二坐标的值为该目标像素的红色通道的色值与该目标像素的绿色通道的色值的比值的情况下,该色温曲线的生成过程包括:

401,针对预定色温值集合中的每个色温值,采用该色温值为预先确定的标准色卡中的每个标准色卡分别拍摄预定数量张图片。

402,计算拍摄得到的图片中的像素点的第一坐标的值和第二坐标的值。

其中,像素点的第一坐标的值为该像素点的蓝色通道的色值均值与绿色通道的色值均值的比值;像素点的第二坐标的值为该像素点的红色通道的色值均值与绿色通道的色值均值的比值;像素点的红色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素点的红色通道的色值的平均值;像素点的绿色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素点的绿色通道的色值的平均值;像素点的蓝色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素点的蓝色通道的色值的平均值。

403,基于计算得到的像素点的第一坐标的值和第二坐标的值,生成预定色温曲线。

可以理解,采用图4所示的方法生成的色温曲线,可以将同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素点的RGB三通道的色值均值,可以排除拍摄位置、角度等不同而造成的误差,从而提高了色温曲线的准确度。

还应该理解,图4仅仅是本公开图像的白平衡处理方法的一个实施例中的色温曲线的生成过程示意图。除图4所示的色温曲线的生成方法之外,还可以采用其他方式生成色温曲线,例如,在目标像素的第一坐标的值为该目标像素的绿色通道的色值与该目标像素的蓝色通道的色值的比值,目标像素的第二坐标的值为该目标像素的绿色通道的色值与该目标像素的红色通道的色值的比值的情况下,该色温曲线的生成过程包括:

首先,针对预定色温值集合中的每个色温值,采用该色温值为预先确定的标准色卡中的每个标准色卡分别拍摄预定数量张图片。

然后,计算拍摄得到的图片中的像素点的第一坐标的值和第二坐标的值。

其中,像素点的第一坐标的值为该像素点的绿色通道的色值均值与蓝色通道的色值均值的比值;像素点的第二坐标的值为该像素点的绿色通道的色值均值与红色通道的色值均值的比值;像素点的红色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素点的红色通道的色值的平均值;像素点的绿色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素点的绿色通道的色值的平均值;像素点的蓝色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素点的蓝色通道的色值的平均值。

最后,基于计算得到的像素点的第一坐标的值和第二坐标的值,生成预定色温曲线。

需要说明的是,除上面所记载的内容外,本公开实施例还可以包括与图1和/或图2对应的实施例相同或类似的特征、效果,在此不再赘述。

作为本公开的图像的白平衡处理方法的一个实施例的应用场景,该图像的白平衡处理方法可以应用于VR(Virtual Reality,虚拟现实)看房场景中。通常,要完成在线VR看房需要涉及到整合应用多种技术,而最后呈现给用户的看这一环,必然离不开对照片的处理(例如ISP处理)。虽然相机、手机等设备已经普及,也涉及到各种相关的照片处理技术,但对于VR拍房定制化设备存在各种挑战。首先,拍房设备是高度集成各种传感器设备的定制化硬件,只能自主研发。其次,这种设备通常无法达到手机那样大的出货量,因此,很难得到成熟的ISP厂商的支持,所以,同时需要自建ISP能力。最后,由于仅限于拍房的特殊场景,ISP处理上也有别于其他ISP厂商的处理方法。一般的白平衡算法在自然场景中具有较高的成功率,但由于室内环境以其丰富的色彩表现,复杂的光源环境,大面积单色的场景等等给白平衡带来了很大的挑战。而且由于ISP处理过程中各个环节呈不同程度的耦合效应,在复杂的室内环境拍摄条件下,这种相互影响,相互耦合的效应被放大,颜色的恢复就会变得更加困难。

而本公开由于可以提高图像白平衡处理的准确性和鲁棒性,因而,适合应用于VR看房场景中,例如,可以直接应用到室内拍照场景的ISP处理流程中。

具体而言,可以首先采用如上所述的方法生成色温曲线,也即上述预定色温曲线。

例如,可以分别拍摄色温为2850、3100、3350、3600、3850、4100、4350、4600、4850、5000、5250、5500、5750、6000、6250、6500的标准24色卡,以及标准白色卡各10张。然后,分别计算10张图像中的像素的三通道的色值的平均值,以减少噪声影响,最终生成标定数据。其中,要求标定场景除了色温有变化外,包括色卡的位置等均不能有变化,保证变量的唯一。

然后,根据24色卡选择标定数据图片中的白色灰色区域位置。例如,可以选取24色卡左下角的3种灰色各自的中间80%区域作为计算白点的范围。

之后,对所有标定数据分别计算所选区域的RGB三通道数据的平均值,得到红色通道的色值平均值RMean、绿色通道的色值平均值GMean和蓝色通道的色值平均值BMean,并计算色坐标(x,y)。其中,x=BMean/GMean,y=RMean/GMean。

最后,利用计算所得点的坐标,得到最终的色温标定曲线。

下面进入图像的白平衡处理过程:

首先,通过腐蚀操作,将全景相机边界数据对应的图像位置数据置为0,即消除外边界对白平衡处理的影响。其中,对于原始的标定边界像素已经二值化处理,仅包括0与255,有效像素可以为255,无效像素可以为0。之后,利用KSize为71的滤波核进行腐蚀操作,获得待处理图像。

然后,进行自动曝光处理。

这里,由于待处理图像虽然具备高动态范围,但是大部分数据的数值(例如RGB三通道的色值)较低,不利于后续白平衡等操作,所以这里需要先将该图片经过自动曝光,提升大部分数据的数值,使得后续算法能处理得更准确。

其中,可以采用如上所述的方法确定用于对待处理图像进行曝光处理的曝光倍率,此处不再赘述。在确定曝光倍率进行过曝光处理后,可以得到曝光后图像。

之后,进行图像划分,图像区域集合,去除图像区域集合中有效数据小于阈值的图像区域。这里,可以针对不同的原始图像的大小,来决定划分的块数。例如,对于2774*3708大小的图像,可以将整张图像分成9张小图片,即行列数均为原数据的1/3。

针对每张图像区域,如发现有效数据(即通道数值不是全0的像素点)数量小于单张图像区域总像素的一半,则不计算该张图像区域的目标像素。

随后,可以利用GrayIndex或其他白平衡算法计算剩余的图像区域的目标像素。从而得到第一次预估的目标像素(即上述第一光源估计结果)。

这里运用算法计算之前,可以先除去原始图像中单通道数值超过245的过亮数据点,以及三通道的色值加和数值小于10的过暗数据点,避免暗部噪声以及过亮非线性区域对白平衡的影响。

接下来,将每个计算目标像素的图像区域作为一个待处理图像,每个待处理图像对应一个目标像素。由此,利用每个待处理图像对应的目标像素,计算CCM矩阵,将待处理图像处理至sRGB色彩空间,求取新的预估白点(即上述第二光源估计结果)。

具体而言,可以首先利用每个待处理图像的第一次预估的目标像素RGB通过如下方式计算CCM:

第一,利用第一次预估的目标像素RGB值,计算对应的XYZ坐标,再利用XYZ坐标计算色温,将该色温与设定的三个标准色温作比较(2850,5000,6500),通过迭代计算减小色温误差,获得最终的色温以及CCM,具体细节如下:

这里,可以通过标定得到了如下矩阵(包括:FM0、FM1、FM2、FM0、FM1、FM2):预设第一色温t0=2850时的FM0,CM0;预设第二色温t1=5000时的FM1,CM1;预设第三色温t2=6500时的FM2,CM2。其中,CM0、CM1、CM2可以将数据从相机的色彩空间转换到XYZ色彩空间;FM0、FM1、FM2可以将相机的色彩转换到人眼的色彩上。另有矩阵M是将XYZ色彩空间转换到sRGB空间的色彩空间转换矩阵

第二,将第一次预估的目标像素RGB归一化处理。

RGB'= RGB / sum(RGB)

其中,RGB'表征归一化后光源色值,RGB表征归一化处理前的光源的色值,sum(RGB)的结果为色值R、G、B三者的和。

第三,将归一化后光源色值转换为第一色彩空间下的光源色值,得到转换后光源色值。

作为示例,当第一色彩空间为XYZ空间时,上述执行主体可以采用如下方式,将归一化后光源色值转换为第一色彩空间下的光源色值:

XYZ = CM1 * RGB'

其中,XYZ表征转换后光源色值,RGB'归一化后光源色值。

第四,计算当前XYZ坐标下的色温temper。这里,计算方法同DNG格式的图像文件的色温计算方式。

接下来,分类计算,迭代求取最终色温以及CCM矩阵:

分类一,若temper等于t1;则CCM = FM1*M;

分类二,若temper小于t0;则CCM=FM0*M;

分类三,若temper大于t2;则CCM=FM2 *M;

分类四,若t1 < temper < t2:则计算比率ratio:

计算

根据最近以此计算得到的XYZ'计算新的色温temper',直至与上一次色温temper的差值小于2,则此时有如下3种细分类:

细分类一,若temper> t2;则CCM=FM2 *M;

细分类二,若temper< t1;则CCM=FM1*M;

细分类三,若t1

分类三,若t0 < temper < t1,则:

根据XYZ'计算新的色温temper',直至与上一次色温temper的差值小于2,则此时有如下3种细分类:

细分类一,若temper< t0;则CCM=FM0 *M;

细分类二,若temper> t1;则CCM=FM1*M;

细分类三,若t1

至此,可以确定出矩阵CCM。

之后,可以利用每张待处理图像的第一次预估的目标像素,对小图片做白平衡处理,得到第一白平衡处理后图像,然后,对白平衡处理后图像进行CCM的色彩空间转换,得到转换后图像,随后,对转换后图像利用待处理图像求预估白点的像素位置,得到第二人次预估的目标像素。这里,可以采用如上所述的方式确定偏色限制矩阵,进而得到待处理图像相对应的目标像素。

在得到每张待处理图像相对应的目标像素之后,可以计算加权平均的整幅图像最终的白点坐标:

计算以上保留的每个目标像素的B/G,R/G分别作为xi,yi。其中,B表征目标像素的蓝色通道的色值,G表征目标像素的绿色通道的色值,R表征目标像素的红色通道的色值,i用于唯一标识每个目标像素。这里,可以将目标像素的坐标记作(xi,yi)。再计算目标像素(xi,yi)到标定得到的色温曲线的距离di,则每个目标像素的对应权重Wi可以为:

目标像素(R,G,B)的红色通道的色值R、绿色通道的色值G和蓝色通道的色值B,可以采用如上所述的公式确定,在此不再赘述:

最后,对图片进行白平衡处理。

I’ =I*invRGB

其中,I’表征白平衡处理后图像,I表征原始图像,*表征卷积操作,

可以理解,上述示例中,可以通过腐蚀操作去除边界数据的影响,通过曝光处理去除非线性数据的影响,并且通过确定目标图像区域可以去除暗部噪声的影响。利用分块方案以及加权平均的方案,使整张的图片的白点更鲁棒,更准确;可以降低CCM矩阵产生的色彩转换影响:通过对NativeXYZ色彩空间以及普通CCM转换之后的sRGB色彩空间的光源估算,计算后者光源反馈到前者光源的反馈校准矩阵,利用该矩阵与NativeXYZ空间的白点对原图片进行最终的白平衡处理,从而提高了白平衡处理的准确度。

从图3中可以看出,本实施例中的图像的白平衡处理方法的流程300中,通过计算与转换后光源色值相对应的色温,可以使白平衡处理后的图像中的目标像素更准确。

下面请进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种图像的白平衡处理装置的一个实施例,该装置实施例与图1-4所示的方法实施例相对应,除下面所记载的特征外,该装置实施例还可以包括与图1-4所示的方法实施例相同或相应的特征,以及产生与图1-4所示的方法实施例相同或相应的效果。该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的图像的白平衡处理装置500包括:获取单元501,被配置成获取第一色彩空间下的待处理图像;第一光源估计单元502,被配置成对待处理图像进行光源估计,得到第一光源估计结果;第一生成单元503,被配置成基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像;转换单元504,被配置成将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像;第二光源估计单元505,被配置成对转换后图像进行光源估计,得到第二光源估计结果;第二生成单元506,被配置成基于第一光源估计结果和第二光源估计结果,对待处理图像进行第二白平衡处理,生成第二白平衡处理后图像。

在本实施例中,图像的白平衡处理装置500的获取单元501可以获取第一色彩空间下的待处理图像。

在本实施例中,上述第一光源估计单元502可以对获取单元501获取的待处理图像进行光源估计,得到第一光源估计结果。

在本实施例中,上述第一生成单元503可以基于第一光源估计单元502得到的第一光源估计结果对获取单元501获取的待处理图像进行白平衡处理,生成第一白平衡处理后图像。

在本实施例中,上述转换单元504可以将第一生成单元503生成的第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

在本实施例中,上述第二光源估计单元505可以对转换单元504得到的转换后图像进行光源估计,得到第二光源估计结果。

在本实施例中,上述第二生成单元506可以基于第一光源估计单元502得到的第一光源估计结果和第二光源估计单元505得到的第二光源估计结果,对获取单元501获取的待处理图像进行第二白平衡处理,生成第二白平衡处理后图像。

在本实施例的一些可选的实现方式中,上述第二生成单元进一步被配置成:

基于第一光源估计结果,确定第一转换矩阵,其中,第一转换矩阵用于将待处理图像转换为待处理图像的白平衡处理后图像;

基于第二光源估计结果,确定第二转换矩阵,其中,第二转换矩阵转换后图像转换为转换后图像的白平衡处理后图像;

基于第一转换矩阵和第二转换矩阵,对待处理图像进行第三白平衡处理,生成第二白平衡处理后图像。

在本实施例的一些可选的实现方式中,上述第二生成单元506进一步被配置成:

基于第一转换矩阵、第二转换矩阵和第三转换矩阵,对待处理图像进行第四白平衡处理,生成第二白平衡处理后图像,其中,第三转换矩阵用于将第一色彩空间下的图像转换为第二色彩空间下的图像。

在本实施例的一些可选的实现方式中,上述第二生成单元506进一步被配置成:

基于第一转换矩阵、第二转换矩阵和第三转换矩阵,确定第一转换矩阵的偏色限制矩阵;

基于偏色限制矩阵,对待处理图像进行第五白平衡处理,生成第二白平衡处理后图像。

在本实施例的一些可选的实现方式中,上述第一光源估计结果包括光源的色值;以及

上述转换单元504进一步被配置成:

对光源的色值进行归一化处理,得到归一化后光源色值;

将归一化后光源色值转换为第一色彩空间下的光源色值,得到转换后光源色值;

计算与转换后光源色值相对应的色温;

基于色温,确定第四转换矩阵,其中,第四转换矩阵用于将第一色彩空间下的图像的白平衡处理后的图像的色彩空间转换为第二色彩空间;

基于第四转换矩阵,将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像。

在本实施例的一些可选的实现方式中,上述转换单元504进一步被配置成:

响应于色温小于预设第一色温,将与预设第一色温相对应的色彩空间转换矩阵和第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于色温等于预设第二色温,将与预设第二色温相对应的色彩空间转换矩阵和第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于色温大于预设第三色温,将与预设第三色温相对应的色彩空间转换矩阵和第三转换矩阵相乘的结果,确定为第四转换矩阵;

响应于色温大于预设第二色温并且小于或等于预设第三色温,执行如下第一操作:

重新计算转换后光源色值;

将与重新计算的转换后光源色值相对应的色温,作为第一目标色温;

响应于最近一次计算得到的色温与上次计算得到的色温之差小于预设数值,基于上述第一目标色温与预设第二色温、预设第三色温之间的大小关系,确定第四转换矩阵;

响应于色温大于或等于预设第一色温并且小于预设第二色温,执行如下第二操作:

重新计算转换后光源色值;

将与重新计算的转换后光源色值相对应的色温,作为第二目标色温;

响应于最近一次计算得到的色温与上次计算得到的色温之差小于预设数值,基于上述第二目标色温与预设第一色温、预设第三色温之间的大小关系,确定第四转换矩阵。

在本实施例的一些可选的实现方式中,上述转换单元504进一步被配置成:

在色温大于预设第二色温并且小于或等于预设第三色温的情况下,响应于最近一次计算得到的色温与上次计算得到的色温之差大于或等于预设数值,继续执行第一操作:

在色温大于或等于预设第一色温并且小于预设第二色温的情况下,继续执行第二操作。

在本实施例的一些可选的实现方式中,上述获取单元501进一步被配置成:

获取原始图像;

对所述原始图像的图像掩膜进行腐蚀操作,得到腐蚀后图像,以及将所述原始图像中与所述腐蚀后图像相对应的图像区域作为待处理图像;

将待处理图像转换为第一色彩空间下的待处理图像。

在本实施例的一些可选的实现方式中,上述获取单元501进一步被配置成:

基于与待处理图像相对应的灰度图像,确定用于进行曝光处理的曝光倍率;

采用曝光倍率,对待处理图像进行曝光处理,生成第一曝光后图像;

基于第一曝光后图像,生成第一色彩空间下的待处理图像。

在本实施例的一些可选的实现方式中,上述获取单元501进一步被配置成:

针对预先确定的曝光倍率集合中的曝光倍率,按照从小到大的顺序,依次选取曝光倍率,以及基于所选取的曝光倍率执行如下第一曝光倍率确定操作:

采用所选取的曝光倍率对待处理图像进行曝光处理,生成待处理图像针对该曝光倍率的第二曝光后图像;

将待处理图像针对该曝光倍率的第二曝光后图像转换成灰度图像,生成待处理图像针对该曝光倍率的灰度图像;

确定待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值是否大于或等于预设亮度阈值;

响应于待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值大于或等于预设亮度阈值,将所采用的该曝光倍率作为用于进行曝光处理的曝光倍率。

在本实施例的一些可选的实现方式中,上述装置500还包括:

第一选取单元(图中未示出),被配置成响应于待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值小于预设亮度阈值,继续按照从小到大的顺序,从曝光倍率集合中重新选取曝光倍率,以及基于重新选取的曝光倍率执行第一曝光倍率确定操作。

在本实施例的一些可选的实现方式中,上述获取单元501进一步被配置成:

从预先确定的曝光倍率区间中选取曝光倍率,以及基于所选取的曝光倍率执行如下第二曝光倍率确定操作:

采用所选取的曝光倍率对待处理图像进行曝光处理,生成待处理图像针对该曝光倍率的第二曝光后图像;

将待处理图像针对该曝光倍率的第二曝光后图像转换成灰度图像,生成待处理图像针对该曝光倍率的灰度图像;

确定待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值是否大于或等于预设亮度阈值;

响应于待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值大于或等于预设亮度阈值,将所采用的该曝光倍率作为用于进行曝光处理的曝光倍率。

在本实施例的一些可选的实现方式中,上述装置500还包括:

第二选取单元(图中未示出),被配置成响应于待处理图像针对该曝光倍率的灰度图像中的像素的亮度均值小于预设亮度阈值,从曝光倍率区间中重新选取未选取过的曝光倍率,以及基于重新选取的曝光倍率执行第二曝光倍率确定操作。

在本实施例的一些可选的实现方式中,上述获取单元501进一步被配置成:

基于原始图像的图像大小,对第一曝光后图像进行图像划分,得到图像区域集合,以及将图像区域集合中的至少一个图像区域作为待处理图像。

在本实施例的一些可选的实现方式中,上述第二生成单元506进一步被配置成:

基于偏色限制矩阵,确定与每个待处理图像相对应的目标像素,其中,目标像素为待进行白平衡处理的像素;

基于所确定的各个目标像素,对待处理图像进行第六白平衡处理,生成第二白平衡处理后图像。

在本实施例的一些可选的实现方式中,上述获取单元501进一步被配置成:

将待处理图像相对于原始图像被腐蚀的图像区域中的像素,作为无效像素;将待处理图像相对于原始图像未被腐蚀的图像像素,作为有效像素;以及

将图像区域集合中的至少一个图像区域作为待处理图像,包括:

将图像区域集合中的目标图像区域作为待处理图像,其中,目标图像区域中的全部像素的数量与预设百分比的乘积,小于或等于该目标图像区域中的有效像素的数量。

在本实施例的一些可选的实现方式中,上述第二生成单元506进一步被配置成:

针对所确定的每个目标像素,基于该目标像素的三通道的色值,确定该目标像素的第一坐标的值和第二坐标的值;

基于该目标像素的第一坐标的值和第二坐标的值,计算在预设坐标系中,该目标像素到预定色温曲线的距离,其中,预设坐标系包括第一坐标和第二坐标,预定色温曲线表征第一坐标的值和第二坐标的值之间的对应关系;

基于所确定的目标像素到预定色温曲线的距离,对待处理图像进行第七白平衡处理,生成第二白平衡处理后图像。

在本实施例的一些可选的实现方式中,上述第二生成单元506进一步被配置成:

基于所确定的各个目标像素到预定色温曲线的距离,确定所确定的各个目标像素对应的权重;

基于所确定的各个目标像素对应的权重,确定目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值;

基于目标像素的红色通道的色值、绿色通道的色值和蓝色通道的色值,对待处理图像进行第八白平衡处理,生成第二白平衡处理后图像。

在本实施例的一些可选的实现方式中,上述目标像素的第一坐标的值为该目标像素的蓝色通道的色值与该目标像素的绿色通道的色值的比值,目标像素的第二坐标的值为该目标像素的红色通道的色值与该目标像素的绿色通道的色值的比值;以及

上述装置500还包括:

拍摄单元(图中未示出),被配置成针对预定色温值集合中的每个色温值,采用该色温值为预先确定的标准色卡中的每个标准色卡分别拍摄预定数量张图片;

计算单元(图中未示出),被配置成计算拍摄得到的图片中的像素的第一坐标的值和第二坐标的值;其中,像素的第一坐标的值为该像素的蓝色通道的色值均值与绿色通道的色值均值的比值;像素的第二坐标的值为该像素的红色通道的色值均值与绿色通道的色值均值的比值;像素的红色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素的红色通道的色值的平均值;像素的绿色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素的绿色通道的色值的平均值;像素的蓝色通道的色值均值为:同一色温值下同一标准色卡的预定数量张图片中与该像素相对应的各个像素的蓝色通道的色值的平均值;

第三生成单元(图中未示出),被配置成基于计算得到的像素的第一坐标的值和第二坐标的值,生成预定色温曲线。

本公开的上述实施例提供的图像的白平衡处理装置500中,获取单元501可以获取第一色彩空间下的待处理图像,之后,第一光源估计单元502可以对待处理图像进行光源估计,得到第一光源估计结果,然后,第一生成单元503可以基于第一光源估计结果对待处理图像进行第一白平衡处理,生成第一白平衡处理后图像,接下来,转换单元504可以将第一白平衡处理后图像的色彩空间转换为第二色彩空间,得到转换后图像,随后,第二光源估计单元505可以对转换后图像进行光源估计,得到第二光源估计结果,最后,第二生成单元506可以基于第一光源估计结果和第二光源估计结果,对待处理图像进行第二白平衡处理,生成第二白平衡处理后图像。本公开实施例可以结合第一光源估计结果和第二光源估计结果实现白平衡处理,由此,提高了图像白平衡处理的准确性。

下面,参考图6来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。

图6图示了根据本公开实施例的电子设备的框图。

如图6所示,电子设备6包括一个或多个处理器601和存储器602。

处理器601可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。

存储器602可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器601可以运行所述程序指令,以实现上文所述的本公开的各个实施例的图像的白平衡处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

在一个示例中,电子设备还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,在该电子设备是第一设备或第二设备时,该输入装置603可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置603可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。

此外,该输入装置603还可以包括例如键盘、鼠标等等。该输出装置604可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置604可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图6中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的图像的白平衡处理方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

另外,本公开的实施例还可以是计算机程序,该计算机程序可以包括计算机可读代码。当上述计算机可读代码在设备上运行时,该设备中的处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的图像的白平衡处理方法中的步骤。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。

相关技术
  • 图像的白平衡处理方法、装置、电子设备和存储介质
  • 图像的白平衡处理方法、装置、电子设备和存储介质
技术分类

06120112934915