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

目标场景图像的自动白平衡方法及装置、终端与流程

2022-06-15 23:15:39 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种目标场景图像的自动白平衡方法及装置、终端。


背景技术:

2.由于人眼的适应性,在不同色温下,都能准确判断出白色。但是图像采集设备在拍摄过程中,所拍摄的图像受到环境色温、光照强度、镜头以及元器件自身性质等因素的影响,会导致图像呈现的色彩与人眼看到的颜色不一致,尤其是对于纯色场景而言,容易出现偏色问题。因此,为了保证图像的色彩尽可能地还原其所拍摄的现实场景或对象的色彩,有必要对图像进行白平衡处理。
3.传统白平衡方法主要依靠灰度世界、完美反射等假设进行校正,而对于纯色场景来说,其颜色单一,并不满足灰度世界、完美反射等假设,导致自动白平衡计算后出现偏色现象。其他一些现有的纯色场景白平衡处理方法主要分为以下几类:(1)定位纯色区域,基于纯色区域之外的非纯色区域进行色温估计,然后计算白平衡增益,但这种方法不适于全图都是纯色的情况(2)标定实验室环境中不同色温、亮度的光照下所拍摄的图像的白平衡增益,判断待推理纯色场景对应的色温类型及白平衡增益值,由于这种技术在标定图像的白平衡增益时,大部分使用红绿蓝三原色(red-green-blue,rgb)颜色空间进行处理,易受光照强度变化影响,确定白平衡增益结果时准确性不足;并且需计算每组预设光照下的颜色增益图像,过程繁琐、效率低下;(3)利用多个摄像头的视场角差异进行图像白平衡,这种方法需要使用更多的摄像头,成本较高;(4)记录预设的单张纯色场景图片作用后的彩度、色调,将多种预设光源白平衡增益作用在原图上得到一组作用后的图片,选取与预设单纯色场景图片彩度、色调最接近的图片作为白平衡后的结果,这种方法计算处理单张图片时,需要计算多种白平衡增益的结果,会显著增加运算耗时。
4.因此,亟需一种目标场景图像的自动白平衡方法,可以快速、准确地确定目标场景图像的白平衡真值,对采集自真实丰富的光照场景的各类纯色场景图像进行高效、全自动地白平衡处理,从而最大程度的还原图像的真实色彩。


技术实现要素:

5.本发明解决的技术问题是在图像白平衡处理技术中,如何快速、准确地确定图像的白平衡真值,对目标场景图像进行高效、全自动地白平衡处理,最大程度还原图像的真实色彩。
6.为解决上述技术问题,本发明实施例提供一种目标场景图像的自动白平衡方法,包括以下步骤:确定目标场景图像的色度分量uv特征值;采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值;基于所述白平衡真值确定白平衡增益;采用所述白平衡增益对所述目标场景图像进行白平衡处理,以得到处理后图像;其中,所述预设的映射关系表是基于多帧纯色场景图像的uv特征值和白平衡真值确定的。
7.可选的,在确定所述目标场景图像的白平衡真值之前,所述方法还包括:确定多帧纯色场景图像的uv直方图;对于每帧纯色场景图像,基于所述uv直方图,确定uv特征值;基于各帧纯色场景图像的uv特征值和白平衡真值,确定映射关系表。
8.可选的,在确定多帧纯色场景图像的uv直方图之前,所述方法还包括:对多帧带色卡拍摄的场景图像进行分类,以得到所述多帧纯色场景图像,其中,每帧带色卡拍摄的场景图像具有各自的拍摄色温和拍摄照度。
9.可选的,所述对多帧带色卡拍摄的场景图像进行分类,以得到所述多帧纯色场景图像包括:确定所述多帧带色卡拍摄的场景图像的uv直方图和图像亮度值;基于所述uv直方图和所述图像亮度值,对所述多帧带色卡拍摄的场景图像进行分类,以筛选出所述多帧纯色场景图像。
10.可选的,所述多帧带色卡拍摄的场景图像是在各自的拍摄色温和拍摄照度下,针对包含色卡的预设场景进行拍摄得到的。
11.可选的,采用下述公式,基于所述uv直方图和所述图像亮度值,对所述多帧带色卡拍摄的场景图像进行分类,以筛选出所述多帧纯色场景图像:
12.numper=valbin
÷
(bin_num
×
bin_num);
13.score=(1-numper)
×
100;
14.如果满足以下一项或多项,则认为是纯色场景图像:
15.bv》bv_thr_high且score》thr_score_high且top2_percent》thr_percent_1;
16.bv》bv_thr_mid且bv《=bv_thr_high且(score》k1
×
bv b1或
17.top2_percent》thr_percent_2)且top2_percent》thr_percent_3;
18.bv《=bv_thr_mid且(score》k1
×
bv b1或top2_percent》thr_percent_4);
19.其中,numper用于指示所述uv直方图中存在统计值的颜色特征区间的数量占比;score是numper的另一种表示形式,同样用于指示所述uv直方图中存在统计值的颜色特征区间的数量占比;bin_num用于指示所述uv直方图中的颜色特征区间总数量;valbin用于指示所述uv直方图中存在统计值的颜色特征区间数量;bv用于指示所述图像亮度值;top2_percent用于指示所述uv直方图中占比最大的两个颜色特征区间内的像素点数量统计值累计占比;bv_thr_high用于指示第一亮度值阈值,bv_thr_mid用于指示第二亮度值阈值,thr_score_high用于指示颜色特征区间占比阈值,thr_percent_1用于指示第一分类界限值,thr_percent_2用于指示第二分类界限值,thr_percent_3用于指示第三分类界限值,thr_percent_4用于指示第四分类界限值,k1用于指示第一经验参数,b1用于指示第二经验参数。
20.可选的,所述确定多帧纯色场景图像的uv直方图包括:对于每帧纯色场景图像,确定所述纯色场景图像中的有效像素点;根据所述有效像素点的rgb像素值,确定所述有效像素点的uv值;对所述有效像素点的uv值进行直方图统计,以得到所述uv直方图。
21.可选的,采用下述公式,根据所述有效像素点的rgb像素值,确定所述有效像素点的uv值:
22.u=log(g/r);
23.v=log(g/b);
24.其中:u和v用于指示图像的色度分量,在二维空间坐标系中,u是所述有效像素点
的uv值的横坐标值,v是所述有效像素点的uv值的纵坐标值;r用于指示图像的rgb通道中的红色通道值;g用于指示图像的rgb通道中的绿色通道值;b用于指示图像的rgb通道中的蓝色通道值。
25.可选的,所述对于每帧纯色场景图像,基于所述uv直方图,确定uv特征值包括:从所述uv直方图中选取占比最大的颜色特征区间,并将所述占比最大的颜色特征区间内的uv值的中位值或平均值作为所述uv特征值;或者,从所述uv直方图中选取占比最大的颜色特征区间,并选取所述占比最大的颜色特征区间的邻近区域中占比大于预设占比值的一个或多个颜色特征区间,然后分别将每个颜色特征区间内的uv值的中位值或者将每个颜色特征区间内uv值的平均值作为各个颜色特征区间的颜色特征值,再按照每个颜色特征区间的统计值占比,对所得到的多个颜色特征值进行加权平均,以得到所述uv特征值。
26.可选的,在基于各帧纯色场景图像的uv特征值和白平衡真值,确定映射关系表之前,所述方法还包括:对每帧纯色场景图像标定白平衡真值。
27.可选的,所述对每帧纯色场景图像标定白平衡真值包括:从所述纯色场景图像内的色卡中选取出消色差色块,并采用所述消色差色块中曝光值小于预设曝光阈值且亮度值最大的色块作为标注色块;根据所述标注色块区域范围内多个像素点的rgb像素值确定所述白平衡真值。
28.可选的,根据所述标注色块区域范围内多个像素点的rgb像素值确定所述白平衡真值包括:采用所述标注色块区域范围内多个像素点的rgb像素值的中位值,作为所述白平衡真值;或者,采用所述标注色块区域范围内多个像素点的rgb像素值的平均值,作为所述白平衡真值。
29.可选的,所述色卡选自以下一项或多项:24色标准色卡、灰色色卡、白色色卡。
30.可选的,所述基于各帧纯色场景图像的uv特征值和白平衡真值,确定映射关系表包括:对于每帧纯色场景图像,对所述白平衡真值进行转换,以得到转换后的uv值;将每帧纯色场景图像的uv特征值以及所述转换后的uv值,确定为一组映射关系,并将所得到的多组映射关系作为所述映射关系表,或者将每帧纯色图像的所述uv特征值、所述转换后的uv值以及图像亮度值,确定为一组映射关系,并将所得到的多组映射关系作为所述映射关系表。
31.可选的,采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值包括:根据所述uv特征值,从所述映射关系表中查找出对应的uv值;将所述uv值转换为rgb像素值,作为所述目标场景图像的白平衡真值。
32.本发明实施例还提供一种目标场景图像的自动白平衡装置,包括:uv特征值确定模块,用于确定目标场景图像的色度分量uv特征值;白平衡真值确定模块,用于采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值;白平衡增益确定模块,用于基于所述白平衡真值确定白平衡增益;白平衡处理模块,用于采用所述白平衡增益对所述目标场景图像进行白平衡处理,以得到处理后图像。
33.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述目标场景图像的自动白平衡方法的步骤。
34.本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述目标场景
图像的自动白平衡方法的步骤。
35.与现有技术相比,本发明实施例的技术方案具有以下有益效果:
36.在本发明实施例中,首先确定目标场景图像的色度分量uv特征值;然后采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值;再基于所述白平衡真值确定白平衡增益;最后采用所述白平衡增益对所述目标场景图像进行白平衡处理,以得到处理后图像;其中,所述预设的映射关系表是基于多帧纯色场景图像的uv特征值和白平衡真值确定的。相比于现有技术在标定不同光源下的白平衡增益时,使用rgb颜色空间进行处理时易受光照强度影响,导致确定的白平衡增益结果不够准确,且处理过程复杂繁琐,效率低下;或者采取将多种预设光源白平衡增益作用在单张原图上,从得到的一组作用图片中筛选出最接近预设原图的图片,同样会显著降低效率,且增加运算成本。本发明的实施例选择在uv颜色域进行处理,能够减少亮度变化的影响,并且直接使用查找映射关系表的方法确定白平衡真值,没有多次将白平衡增益作用在原图的过程,操作程序简化,可以快速、准确、全自动地确定所述目标场景图像的白平衡真值,提高白平衡处理效率、改进处理效果。
37.进一步,在确定所述目标场景图像的白平衡真值之前,所述方法还包括:确定多帧纯色场景图像的uv直方图;对于每帧纯色场景图像,基于所述uv直方图,确定uv特征值;基于各帧纯色场景图像的uv特征值和白平衡真值,确定映射关系表。此外,所述多帧纯色场景图像是对多帧带色卡拍摄的场景图像进行分类得到的。在本发明实施例中,通过在丰富多样的真实光照下针对预设场景采集所述带色卡拍摄的场景图像,并分类筛选出所述多帧纯色场景图像,以确定所述映射关系表,从而通过查找所述映射关系表即可以快速、准确地确定多种多样类型的纯色场景图像的白平衡真值,使得本发明实施例可以适用于不同光照下采集的目标场景图像,进行白平衡处理。
38.进一步,确定所述多帧带色卡拍摄的场景图像的uv直方图包括:对于每帧场景图像,确定所述场景图像中的有效像素点;根据所述有效像素点的三原色rgb像素值,确定所述有效像素点的uv值;对所述有效像素点的uv值进行直方图统计,以得到所述uv直方图。在本发明实施例中,由于可能存在一些像素点的红色通道值或者蓝色通道值接近0,在转换为所述uv值时做完除法后就是无限大的值,超过了uv直方图的统计范围,这类像素点是无效的。因此,在进行uv直方图统计前,对于每帧场景图像,先剔除无效像素点,确定所述场景图像中的有效像素点,可以提高数据的有效性,针对所述各帧纯色图像分别确定更加准确的uv直方图,进而提高后续确定映射关系表和白平衡真值的准确性,改进白平衡处理效果。
39.进一步,对于每帧纯色场景图像,基于所述uv直方图,确定uv特征值包括:从所述uv直方图中选取占比最大的颜色特征区间,并将所述占比最大的颜色特征区间内的uv值的中位值或平均值作为所述uv特征值;或者,从所述uv直方图中选取占比最大的颜色特征区间,并选取所述占比最大的颜色特征区间的邻近区域中占比大于预设占比值的一个或多个颜色特征区间,然后分别将每个颜色特征区间内的uv值的中位值或者将每个颜色特征区间内uv值的平均值作为各个颜色特征区间的颜色特征值,再按照每个颜色特征区间的统计值占比,对所得到的多个颜色特征值进行加权平均,以得到所述uv特征值。在本发明实施例中,由于所述纯色场景图像的uv直方图往往只在很少的区间内有统计值,直方图中的数据十分稀疏,因此通过对所述uv直方图采用上述降维方式确定所述uv特征值,可以得到能够
体现所述纯色场景图像的uv颜色特征的精练、有效、准确的信息。
附图说明
40.图1是本发明实施例中一种目标场景图像的自动白平衡方法的流程图;
41.图2是本发明实施例中另一种目标场景图像的自动白平衡方法的流程图;
42.图3是图2中步骤s22的一种具体实施方式的流程图;
43.图4是本发明实施例中一种目标场景图像的自动白平衡装置的结构示意图。
具体实施方式
44.如前所述,为了保证图像的色彩尽可能地还原其所拍摄的现实场景或对象的色彩,有必要对图像进行白平衡处理。
45.在现有技术中,图像的白平衡处理方法主要依靠灰度世界、完美反射等假设进行校正,而对于纯色场景来说,其颜色单一,并不满足灰度世界、完美反射等假设,导致自动白平衡计算后出现偏色现象。其他一些现有的纯色场景白平衡处理方法主要分为以下几类:(1)定位纯色区域,基于纯色区域之外的非纯色区域进行色温估计,然后计算白平衡增益;(2)标定实验室环境中不同色温、亮度的光照下所拍摄的图像的白平衡增益,判断待推理纯色场景对应的色温类型及白平衡增益值;(3)利用多个摄像头的视场角差异进行图像白平衡;(4)记录预设的单张纯色场景图片作用后的彩度、色调,将多种预设光源白平衡增益作用在单张原图上得到一组作用后的图片,选取与预设单纯色场景图片彩度、色调最接近的图片作为白平衡后的结果。
46.本发明的发明人经研究发现,采用灰度世界、完美反射等假设的白平衡方法并不适于全图都是纯色的情况;此外,现有技术在标定图像的白平衡增益时,大部分使用rgb颜色空间进行处理,易受光照强度变化影响,确定白平衡增益结果时准确性不足,并且需计算每组预设光照下的颜色增益图像,过程繁琐、效率低下;采用多个摄像头的方法显然需要较高的硬件成本;而将多种预设光源白平衡增益作用于单张原图的方法,需要计算多种白平衡增益的结果,会显著增加运算耗时。
47.在本发明实施例中,首先确定目标场景图像的色度分量uv特征值;然后采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值;再基于所述白平衡真值确定白平衡增益;最后采用所述白平衡增益对所述目标场景图像进行白平衡处理,以得到处理后图像;其中,所述预设的映射关系表是基于多帧纯色场景图像的uv特征值和白平衡真值确定的。相比于现有技术在标定不同光源下的白平衡增益时,使用rgb颜色空间进行处理时易受光照强度影响,导致确定的白平衡增益结果不够准确,且处理过程复杂繁琐,效率低下;或者采取将多种预设光源白平衡增益作用在单张原图上的方法,同样会显著增加运算开销。本发明的实施例选择在uv颜色域进行处理,能够减少光照强度变化的影响,并且直接使用查找映射关系表的方法确定白平衡真值,没有多次将白平衡增益作用在原图的过程,操作程序简化,可以快速、准确、全自动地确定所述目标场景图像的白平衡真值,提高白平衡处理效率、改进处理效果。
48.为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细说明。
49.参照图1,图1是本发明实施例中一种目标场景图像的自动白平衡方法的流程图。所述方法可以包括步骤s11至步骤s14:
50.步骤s11:确定目标场景图像的uv特征值;
51.步骤s12:采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值;
52.步骤s13:基于所述白平衡真值确定白平衡增益;
53.步骤s14:采用所述白平衡增益对所述目标场景图像进行白平衡处理,以得到处理后图像。
54.其中,所述预设的映射关系表是基于多帧纯色场景图像的uv特征值和白平衡真值确定的。
55.可以理解的是,在具体实施中,所述方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中;或者,该方法可以采用硬件或者软硬结合的方式来实现。
56.在步骤s11的具体实施中,所述目标场景图像可以由任何带成像系统的设备采集的,包括但不限于手机、平板电脑、台式电脑、摄像机等;所述目标场景图像可以是拍摄自各种类型的光照(光源)下的纯色场景图像,包括大面积单纯色图像、双拼色图像、多拼色图像、带纹理纯色图像等。
57.所述uv特征值(“u”和“v”表示的则是色度chroma)可以用于指示图像中像素点的颜色特征值,用于表征图像的颜色信息;在二维空间坐标系中,u值就是像素点的uv特征值的横坐标值,v值就是像素点的uv特征值的纵坐标值。
58.在步骤s12的具体实施中,采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值包括:根据所述uv特征值,从所述映射关系表中查找出对应的uv值;将所述uv值转换为rgb像素值,作为所述目标场景图像的白平衡真值。
59.其中,所述白平衡真值又可以称为光源真值,用于表征光照对图像颜色或色调的影响程度,通常而言,在摄像领域,白平衡的数值越高,色调越暖;白平衡的数值越低,色调越冷。
60.在步骤s13的具体实施中,基于所述白平衡真值确定白平衡增益。
61.其中,基于所述白平衡真值确定白平衡增益的方法可以采用现有技术中的常规方法,在本发明实施例中,对于具体的确定方法不做限制。
62.在步骤s14的具体实施中,采用所述白平衡增益对所述目标场景图像进行白平衡处理,以得到处理后图像。
63.其中,采用所述白平衡增益对所述目标场景图像进行白平衡处理的方法可以采用现有技术中的常规方法,在本发明实施例中,对于具体的处理方法不做限制。
64.在本发明实施例中,相比于现有技术在标定不同光源下的白平衡增益时,往往使用rgb颜色空间进行处理,容易受光照强度影响,导致确定的白平衡增益结果不够准确,且处理过程复杂繁琐,效率低下;或者采取将多种预设光源白平衡增益作用在单张原图上的方法,同样会显著增加运算开销。本发明的实施例在uv颜色域进行处理,能够减少光照强度变化的影响,并且直接使用查找映射关系表的方法确定白平衡真值,没有多次将白平衡增益作用在单张原图的过程,操作程序简化,可以快速、准确、全自动地确定所述目标场景图
像的白平衡真值,提高白平衡处理效率,改进白平衡效果。
65.参照图2,图2是本发明实施例中另一种目标场景图像的自动白平衡方法的流程图。所述另一种目标场景图像的自动白平衡方法可以包括步骤s21至步骤s27,以下对各个步骤进行说明。
66.在步骤s21中,对多帧带色卡拍摄的场景图像进行分类,以得到多帧纯色场景图像。
67.其中,所述多帧带色卡拍摄的场景图像是通过在各自的拍摄色温和拍摄照度下,针对包含色卡的预设场景进行拍摄得到的,其中包括多帧非纯色场景图像以及多帧纯色场景图像,所述多帧纯色场景图像包括但不限于红、绿、蓝、黄、粉、紫、棕、橙等颜色。
68.在具体实施中,所述包含色卡的预设场景可以是放置有色卡的预设场景,换言之,所述带色卡拍摄可以是在场景中放置或手持一张色卡,使得拍摄得到的场景图像内包含该色卡;也可以是在图像采集设备(如手机、平板电脑、摄像机)的前方预设距离处放置或手持一张色卡,使得拍摄得到的场景图像内包含该色卡;还可以采用其他的方式使得拍摄得到的场景图像内包含色卡,本发明实施例对此不做限制。
69.在具体实施中,可以选用能够通过消色差区域计算出图像的白平衡真值的色卡。在一些非限制性的实施例中,所述色卡可以选自以下一项或多项:24色标准色卡、灰色色卡、白色色卡。
70.需要指出的是,带色卡拍摄的主要目的是通过采用所述色卡作为辅助工具,来标定所述场景图像的白平衡真值。
71.在一些非限制性的实施例中,为了使得所述多帧带色卡拍摄的场景图像具有各自的拍摄色温和拍摄照度,可以尽可能地在丰富多样的光照环境下采集所述场景图像。具体地,采集所述场景图像的光源可以选自以下一项或多项:a,h,tl83,tl84,d50,d65等实验室人造光源;荧光灯;钨丝灯;室外早晨、上午、下午、傍晚的日光等。
72.进一步,所述对多帧带色卡拍摄的场景图像进行分类,以得到所述多帧纯色场景图像包括:确定所述多帧带色卡拍摄的场景图像的uv直方图和图像亮度值;基于所述uv直方图和所述图像亮度值,对所述多帧带色卡拍摄的场景图像进行分类,以筛选出所述多帧纯色场景图像。
73.其中,所述uv直方图是一种用于描述图像中像素点的颜色特征值(uv值)分布情况的统计图,在所述uv直方图中具有多个颜色特征区间,对于单帧场景图像,统计颜色特征值落入各个颜色特征区间范围内的像素点个数,就可以得到该帧场景图像对应的一个uv直方图。
74.具体地,在确定所述uv直方图时,需要逐个将所述场景图像中各个像素点的rgb像素值进行对数空间转换(也即从rgb空间转换到uv空间),得到所述各个像素点的uv值,再对所得到的多个uv值分区间进行统计,得到所述uv直方图。在具体实施中,关于确定所述多帧带色卡拍摄的场景图像的uv直方图的具体方法,参见后续步骤以及图3中关于确定多帧纯色场景图像的uv直方图的各个步骤的描述。
75.可以理解的是,在得到所述多帧场景图像的uv直方图后,会发现非纯色场景图像和纯色场景图像的uv直方图具有显著的区别,纯色场景图像只在uv直方图的少数几个颜色特征区间中存在统计值,且存在统计值的位置较为集中;而非纯色场景图像在uv直方图上
较多颜色特征区间都存在统计值,且存在统计值的位置较为分散。
76.其中,所述图像亮度值用于表征拍摄所述场景图像时的环境亮度或者光照强度,具体可以由照度计测量得到或者通过现有的自动曝光算法确定。可以理解的是,由于在暗光下拍摄或采集的场景图像,噪声的影响会比较大,会导致暗光下纯色、非纯色场景图像的uv直方图在较大范围内都存在统计值(对于暗光下彩噪明显的情况,需要预先去彩噪处理),所以,在进行分类时有必要引入图像亮度值,对不同亮度的场景图像分情况进行处理。
77.更进一步地,采用下述公式,基于所述uv直方图和所述图像亮度值,对所述多帧带色卡拍摄的场景图像进行分类,以筛选出所述多帧纯色场景图像:
78.numper=valbin
÷
(bin_num
×
bin_num);
79.score=(1-numper)
×
100;
80.如果满足以下一项或多项,则可以认为是纯色场景图像:
81.bv》bv_thr_high且score》thr_score_high且top2_percent》thr_percent_1;
82.bv》bv_thr_mid且bv《=bv_thr_high且(score》k1
×
bv b1或top2_percent》thr_percent_2)且top2_percent》thr_percent_3;
83.bv《=bv_thr_mid且(score》k1
×
bv b1或top2_percent》thr_percent_4);
84.其中,numper用于指示所述uv直方图中存在统计值的颜色特征区间的数量占比;score是numper的另一种表示形式,同样用于指示所述uv直方图中存在统计值的颜色特征区间的数量占比;bin_num用于指示所述uv直方图中的颜色特征区间总数量;valbin用于指示所述uv直方图中存在统计值的颜色特征区间数量;bv用于指示所述图像亮度值;top2_percent用于指示所述uv直方图中占比最大的两个颜色特征区间内的像素点数量统计值累计占比;bv_thr_high用于指示第一亮度值阈值,bv_thr_mid用于指示第二亮度值阈值,thr_score_high用于指示颜色特征区间占比阈值,thr_percent_1用于指示第一分类界限值,thr_percent_2用于指示第二分类界限值,thr_percent_3用于指示第三分类界限值,thr_percent_4用于指示第四分类界限值,k1用于指示第一经验参数,b1用于指示第二经验参数。
85.可以理解的是,如果存在上述三项均不满足的场景图像,可以判断为非纯色场景图像。
86.在具体实施中,在采用上述公式对所述多帧带色卡拍摄的场景图像进行分类时,其中用到的所述第一分类界限值、第二分类界限值、第三分类界限值、第四分类界限值,以及第一经验参数、第二经验参数可以预先通过采用机器学习的方法获得,例如可以通过使用决策树得到各个分类界限值。需要指出的是,前述各个分类界限值和各个经验参数在分类是都是已知的具体数值,且在不同的应用场景或不同的具体实施例中,各个分类界限值和各个经验参数的具体数值可以不同。
87.需要指出的是,上述分类方法仅作为对非纯色场景图像和纯色场景图像进行分类的一个非限制性的实施例,在具体实施中,还可以采用其他分类方法实现分类:例如,可以采用卷积神经网络算法实现分类。具体地,使用深度学习方法训练一个二分类模型,将各帧场景图像的uv直方图和图像亮度值作为所述二分类模型的输入参数,分类标签设为纯色和非纯色,所述二分类模型可以输出分类结果。
88.在步骤s22中,确定所述多帧纯色场景图像的uv直方图。
89.参照图3,图3是图2中步骤s22的一种具体实施方式的流程图。所述确定所述多帧纯色场景图像的uv直方图可以包括步骤s31至步骤s33,以下对各个步骤进行说明。
90.在步骤s31中,对于每帧纯色场景图像,确定所述纯色场景图像中的有效像素点。
91.在具体实施中,由于各帧纯色场景图像都带有色卡,为了消除色卡对后续计算图像中像素点的颜色特征值的影响,需要将色卡区域范围内的像素点的rgb像素值设置为0。
92.在本发明实施例中,由于可能存在一些像素点的红色通道值或者蓝色通道值接近0,在转换为所述uv值时做完除法后就是无限大的值,超过了uv直方图的统计范围,这类像素点是无效的。因此,在进行uv直方图统计前,对于每帧纯色场景图像,先剔除无效像素点,确定所述纯色场景图像中的有效像素点,可以提高数据的有效性,针对所述各帧纯色图像分别确定更加准确的uv直方图,进而提高后续确定映射关系表和白平衡真值的准确性,改进白平衡处理效果。
93.在步骤s32中,根据所述有效像素点的rgb像素值,确定所述有效像素点的uv值。
94.在具体实施中,可以采用下述公式,根据所述有效像素点的rgb像素值,确定所述有效像素点的uv值:
95.u=log(g/r);
96.v=log(g/b);
97.其中:u和v用于指示图像的色度分量,在二维空间坐标系中,u是所述有效像素点的uv值的横坐标值,v是所述有效像素点的uv值的纵坐标值;r用于指示图像的rgb通道中的红色通道值;g用于指示图像的rgb通道中的绿色通道值;b用于指示图像的rgb通道中的蓝色通道值。
98.在步骤s33中,对所述有效像素点的uv值进行直方图统计,以得到所述uv直方图。
99.需要指出的是,在具体实施中,在进行uv直方图统计时,会设置好所述uv直方图每个颜色特征区间的大小,以及颜色特征区间的总个数。其中,颜色特征区间用bin表示,颜色特征区间的大小用bin_size表示,颜色特征区间的总个数用bin_num表示。在统计过程中可能存在部分像素点的u值或v值超出所述uv直方图能够统计的范围的情况,对于这类问题可以选择以下任一种方法进行处理:
100.方法一:在计算uv值的时候进行取模处理,以u为例,v与此相似。
[0101][0102]
其中:n(i,j)用于指示一个具体的像素点;k用于指示第k个像素点;n
p
用于指示不同的像素点的总个数;mod()用于指示取模函数;bin_num用于指示uv直方图中颜色特征区间的总个数;bin_size用于指示uv直方图中颜色特征区间的大小;i,j分别用于指示uv直方图中颜色特征区间中的一个具体uv值,其中i用于指示该具体uv值的u值,j用于指示该具体uv值的v值;uk和vk用于指示第k个像素点的u值和v值;u0和v0用于指示固定起始点的u值和v值,通过调整合适的起始点,可以减少uv值超出统计范围的情况。
[0103]
方法二:设置分段函数,分情况对uv直方图统计范围内、统计范围外的值进行处理。
[0104]
[0105]
如果则该位置计入n(0,j);
[0106]
如果则该位置计入n(bin_num-1,j);
[0107]
如果则该位置计入n(i,0);
[0108]
如果则该位置计入n(i,bin_num-1);
[0109]
其中,n(i,j)用于指示一个具体的像素点;k用于指示第k个像素点;n
p
用于指示不同的像素点的总个数;bin_num用于指示uv直方图中颜色特征区间的总个数;bin_size用于指示uv直方图中颜色特征区间的大小;i,j分别用于指示uv直方图中颜色特征区间中的一个具体uv值,其中i用于指示该具体uv值的u值,j用于指示该具体uv值的v值;uk和vk分别用于指示第k个像素点的u值和v值;u0和v0分别用于指示固定起始点的u值和v值,通过调整合适的起始点,可以减少uv值超出统计范围的情况;ε是常数。
[0110]
继续参照图2,在步骤s23中,对于每帧纯色场景图像,基于所述uv直方图,确定uv特征值。
[0111]
在一些非限制性的实施例中,可以从所述uv直方图中选取占比最大的颜色特征区间,并将所述占比最大的颜色特征区间内的uv值的中位值或平均值作为所述uv特征值;或者,从所述uv直方图中选取占比最大的颜色特征区间,并选取所述占比最大的颜色特征区间的邻近区域中占比大于预设占比值的一个或多个颜色特征区间,然后分别将每个颜色特征区间内的uv值的中位值或者将每个颜色特征区间内uv值的平均值作为各个颜色特征区间的颜色特征值,再按照每个颜色特征区间的各自占比,再按照每个颜色特征区间的统计值占比,以得到所述uv特征值。
[0112]
此外,在具体实施中,除了将各个颜色特征区间内的uv值的中位值或平均值作为各个颜色特征区间的颜色特征值,也可以取各个颜色特征区间内的uv值的最大值、最小值或其他合适的某个值作为该颜色特征区间的颜色特征值,只要保证对于每个颜色特征区间,选取的方式统一即可;也可以根据具体应用场景的需要,采取其他合适的方法根据纯色场景图像的uv直方图确定uv特征值,只要能够准确获得能够反映所述纯色场景图像颜色特征的有效信息即可,本发明实施例对此不作限制。
[0113]
在本发明实施例中,由于所述纯色场景图像的uv直方图往往只在很少的颜色特征区间内有统计值,uv直方图中的数据十分稀疏,因此通过对所述uv直方图采用上述降维方式确定所述uv特征值,可以得到能够体现所述纯色场景图像的uv颜色特征的精练、有效、准确的信息。
[0114]
在步骤s24中,基于各帧纯色场景图像的uv特征值和白平衡真值,确定所述映射关系表。
[0115]
可以理解的是,由于所述uv特征值是在uv空间中的一种数据形式(像素点的二维空间信息),而白平衡真值是在rgb空间中的一种数据形式(像素点的三维空间信息),因此在确定所述映射关系表时,还可以包括如下步骤:
[0116]
对于每帧纯色场景图像,对所述白平衡真值进行转换,以得到转换后的uv值;将每
帧纯色场景图像的uv特征值以及所述转换后的uv值,确定为一组映射关系,并将所得到的多组映射关系作为所述映射关系表;
[0117]
或者,对于每帧纯色场景图像,对所述白平衡真值进行转换,以得到转换后的uv值;将每帧纯色图像的所述uv特征值、所述转换后的uv值以及图像亮度值,确定为一组映射关系,并将所得到的多组映射关系作为所述映射关系表。
[0118]
在具体实施中,对所述白平衡真值进行转换,以得到转换后的uv值的方法可以参照前文以及图3中关于根据所述有效像素点的rgb像素值,确定所述有效像素点的uv值的公式实现,此处不再赘述。
[0119]
进一步,在基于各帧纯色场景图像的uv特征值和白平衡真值,确定映射关系表之前,所述方法还包括:对每帧纯色场景图像标定白平衡真值。
[0120]
更进一步地,所述对每帧纯色场景图像标定白平衡真值包括:从所述纯色场景图像内的色卡中选取出消色差色块,并采用所述消色差色块中曝光值小于预设曝光阈值且亮度值最大的色块作为标注色块;根据所述标注色块区域范围内多个像素点的rgb像素值确定所述白平衡真值。
[0121]
具体地,可以采用色卡检测算法从所述纯色场景图像内的色卡中选取出消色差色块;也可以采用人工选取的方法,根据预设的颜色特征阈值从所述纯色场景图像内的色卡中选取出消色差色块。其中,所述色卡检测算法可以是现有的能够实现色卡检测功能的常规算法,如基于划分的k-均值聚类算法k-means。
[0122]
其中,所述消色差色块可以用于指示具有预设颜色的、能够对色差进行校正的色块,在具体实施中,以采用的色卡是24色卡为例,那么可以将色卡的19-24号作为所述消色差色块。
[0123]
更进一步地,根据所述标注色块区域范围内多个像素点的rgb像素值确定所述白平衡真值包括:采用所述标注色块区域范围内多个像素点的rgb像素值的中位值,作为所述白平衡真值;或者,采用所述标注色块区域范围内多个像素点的rgb像素值的平均值,作为所述白平衡真值。
[0124]
进一步,所述色卡选自以下一项或多项:24色标准色卡、灰色色卡、白色色卡。
[0125]
在步骤s25中,采用目标场景图像的uv特征值和所述映射关系表,确定所述目标场景图像的白平衡真值。
[0126]
可以理解的是,在采用目标场景图像的uv特征值和所述映射关系表,确定所述目标场景图像的白平衡真值之前,还需要确定所述目标场景图像的uv特征值。在具体实施中,确定所述目标场景图像的uv特征值的方法可以参照前文以及图3中的相关描述,此处不再赘述。
[0127]
进一步,采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值包括:根据所述uv特征值,从所述映射关系表中查找出对应的uv值;将所述uv值转换为rgb像素值,作为所述目标场景图像的白平衡真值。
[0128]
在具体实施中,将所述uv值转换为rgb像素值时,由于所述uv值只记录了rgb像素值中g值和r值的数据关系,以及g值和b值的数据关系,因此需要对rgb像素值的参考量做出假设。为简单起见,假设rgb像素值的模始终是1,就可以得到uv值向rgb像素值的转换公式,如下所示:
[0129][0130][0131]
其中,rgb
mag
用于指示rgb像素值的模;exp()用于指示以自然常数e为底的指数函数;u和v分别用于指示图像的色度分量u值和v值,在二维空间坐标系中,u是所述有效像素点的uv值的横坐标值,v是所述有效像素点的uv值的纵坐标值;r用于指示图像的rgb通道中的红色通道值;g用于指示图像的rgb通道中的绿色通道值;b用于指示图像的rgb通道中的蓝色通道值。
[0132]
需要指出的是,在具体实施中,所述映射关系表中可能会出现一组uv特征值,对应了多组uv值的情况,对此可以采用多种处理方法,例如:对所述多组uv值计算平均值后再转换为rgb像素值,作为所述白平衡真值;或者,将所述多组uv值按照出现的频次进行加权平均得到加权平均值后,再转换为rgb像素值,作为所述白平衡真值;或者,将所述多组uv值进行拟合(在映射关系表中还有图像亮度值时,进行拟合时也应考虑图像亮度值),根据得到的拟合函数确定所述白平衡真值;还可以采用其他合适的方法准确确定所述uv值,进而得到准确的白平衡真值,此处不做限制。
[0133]
需要指出的是,在具体实施中,还可能会出现确定所述目标场景图像的uv特征值之后,在映射关系表中查找不到对应的uv值的情况,所以在基于各帧纯色场景图像的uv特征值和白平衡真值,确定所述映射关系表后,还可以使用所述映射关系表里已有的位置点,补充完整整个映射关系表,其中,所述位置点用于指示uv特征值,一个uv特征值可以用二维空间坐标系中的一个位置点进行表示。补充的主要思想是使用邻近值填补,例如:直接使用已有统计信息的位置点,填充其上下左右的未知位置点;或者使用与未知位置点最短路径的已知统计值位置点进行填充;或者使用未知位置点周边的已知统计值位置点,进行加权平均、插值等等;也可以采用其他合适方式进行补充,本发明实施例对此不做限制。
[0134]
在步骤s26中,基于所述白平衡真值确定白平衡增益。
[0135]
在步骤s27中,采用所述白平衡增益对所述目标场景图像进行白平衡处理,以得到处理后图像。
[0136]
在具体实施中,有关步骤s21至步骤s27的更多详细内容请参照前文以及图1中的步骤描述进行执行,此处不再赘述。
[0137]
参照图4,图4是本发明实施例中一种目标场景图像的自动白平衡装置的结构示意图。所述装置可以包括:
[0138]
uv特征值确定模块41,用于确定目标场景图像的色度分量uv特征值;
[0139]
白平衡真值确定模块42,用于采用所述uv特征值和预设的映射关系表,确定所述目标场景图像的白平衡真值;
[0140]
白平衡增益确定模块43,用于基于所述白平衡真值确定白平衡增益;
[0141]
白平衡处理模块44,用于采用所述白平衡增益对所述目标场景图像进行白平衡处理,以得到处理后图像。
[0142]
在具体实施中,上述目标场景图像的自动白平衡装置可以对应于目标场景图像的自动白平衡功能的芯片;或者对应于终端中具有目标场景图像的自动白平衡功能的芯片模
组,或者对应于终端。
[0143]
关于该目标场景图像的自动白平衡装置的原理、具体实现和有益效果请参照前文及图1至图3示出的关于目标场景图像的自动白平衡方法的相关描述,此处不再赘述。
[0144]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述目标场景图像的自动白平衡方法的步骤。所述计算机可读存储介质可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
[0145]
具体地,在本发明实施例中,所述处理器可以为中央处理单元(central processing unit,简称cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0146]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称ram)可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称dr ram)。
[0147]
本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述目标场景图像的自动白平衡方法的步骤。所述终端可以包括但不限于手机、计算机、平板电脑等终端设备,还可以为服务器、云平台等。
[0148]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
[0149]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0150]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
[0151]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
[0152]
本技术实施例中出现的“多个”是指两个或两个以上。
[0153]
本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。
[0154]
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
[0155]
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献