图像的白平衡处理方法、装置和终端设备与流程

文档序号:13142389阅读:236来源:国知局
图像的白平衡处理方法、装置和终端设备与流程

本发明涉及移动终端技术领域,尤其涉及一种图像的白平衡处理方法、装置和终端设备。



背景技术:

人的视觉系统具有颜色恒常性,能从变化的光照环境和成像条件下获取物体表面颜色的不变特性。例如,无论在室内钨丝灯下看白色的物体,还是在昏暗的灯光下看白色的物体,人类都会感觉该物体是白色的。这是由于人类在不断的生长过程中,人的大脑已经适应了不同光线下的物体的颜色。

但成像设备不具有这样的调节功能,需要选择合适的颜色平衡算法,消除光照环境对颜色显现的影响。现有技术中存在多种白平衡算法,均可用于计算出增益值,基于该增益值进行白平衡处理。但具体采用哪一种算法进行增益值的计算,现有技术中往往采用用户设定的方式,由用户进行选择。但现有技术中的这种用户设定方式,容易导致白平衡算法与实际场景不匹配,导致白平衡处理效果较差的技术问题。



技术实现要素:

本发明的目的旨在至少在一定程度上解决上述的技术问题之一。

为此,本发明的第一个目的在于提出一种图像的白平衡处理方法,解决了通过用户设定的方式选择白平衡算法,容易导致白平衡算法与实际场景不匹配,导致白平衡处理效果较差的技术问题。

本发明的第二个目的在于提出一种图像的白平衡处理装置。

本发明的第三个目的在于提出一种终端设备。

本发明的第四个目的在于提出一种一种计算机可读存储介质。

为了实现上述目的,本发明第一方面实施例提出了一种图像的白平衡处理方法,图像的内容包括人脸,所述方法包括以下步骤:

根据用于将所述图像中的人脸调整至肤色的人脸白平衡算法,对所述图像计算第一增益值;

根据灰度世界算法,对所述图像计算第二增益值;

判断所述第一增益值与所述第二增益值是否相似;

若所述第一增益值与所述第二增益值相似,根据所述第二增益值对所述图像进行白平衡处理;

若所述第一增益值与所述第二增益值不相似,根据所述第一增益值对所述图像进行白平衡处理。

本发明实施例的一种图像的白平衡处理方法中,根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对图像计算第一增益值。根据灰度世界算法,对图像计算第二增益值。判断第一增益值与第二增益值是否相似。若第一增益值与第二增益值相似,根据第二增益值对图像进行白平衡处理,若第一增益值与第二增益值不相似,根据第一增益值对图像进行白平衡处理。解决了通过用户设定的方式选择白平衡算法,容易导致白平衡算法与实际场景不匹配,导致白平衡处理效果较差的技术问题。

为了实现上述目的,本发明第二方面实施例提出了一种图像的白平衡处理装置,图像的内容包括人脸,所述装置包括:

计算模块,用于根据用于将所述图像中的人脸调整至肤色的人脸白平衡算法,对所述图像计算第一增益值;根据灰度世界算法,对所述图像计算第二增益值;

判断模块,用于判断所述第一增益值与所述第二增益值是否相似;

处理模块,用于若所述第一增益值与所述第二增益值相似,根据所述第一增益值对所述图像进行白平衡处理;若所述第一增益值与所述第二增益值不相似,根据所述第二增益值对所述图像进行白平衡处理。

本发明实施例的一种图像的白平衡处理装置中,计算模块,用于根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对图像计算第一增益值,根据灰度世界算法,对图像计算第二增益值。判断模块,用于判断第一增益值与第二增益值是否相似。处理模块,用于若第一增益值与第二增益值相似,根据第一增益值对图像进行白平衡处理,若第一增益值与第二增益值不相似,根据第二增益值对图像进行白平衡处理。解决了通过用户设定的方式选择白平衡算法,容易导致白平衡算法与实际场景不匹配,导致白平衡处理效果较差的技术问题。

为了实现上述目的,本发明第三方面实施例提出了一种终端设备,包括以下一个或多个组件:壳体和位于壳体内的处理器、存储器、摄像头,其中,存储器存储有可执行程序代码,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行第一方面实施例所述的图像的白平衡处理方法。

为了实现上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面实施例所述的图像的白平衡处理方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例所提供的一种图像的白平衡处理方法的流程示意图;

图2为本发明实施例所提供的另一种图像的白平衡处理方法的流程示意图;

图3为本发明实施例所提供的一种图像的白平衡处理装置的结构示意图;

图4为本发明实施例所提供的另一种图像的白平衡处理装置的结构示意图;

图5为本发明实施例所提供的又一种图像的白平衡处理装置的结构示意图;以及

图6是根据本发明一个实施例的终端设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的方法、装置和终端设备。

图1为本发明实施例所提供的一种图像的白平衡处理方法的流程示意图,如图1所示,该方法包括:

步骤101,根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对该图像计算第一增益值。

具体地,人脸白平衡(faceautomaticwhitebalance,faceawb)算法是指,在使用白平衡方法对图像进行处理时,需要对图像特征做出合理的估计,从而对校正算子做出更加合适的估计。当图像中存在人物时,由于一类人种的肤色变化很小,在一个可估算的范围内。因此,可以根据人脸肤色的特征,确定对应的校正算子,进而得到更准确的白平衡计算结果。尤其在大面积纯色背景和/或混光条件下,能有效改善图像的白平衡效果。为了选用合适的增益值对图像进行白平衡处理,可以先根据该人脸白平衡算法,对图像计算得到第一增益值以作备用。

步骤102,根据灰度世界算法,对该图像计算第二增益值。

具体地,灰度世界(simplegrayworld)算法是以灰度世界假设为基础,该假设认为:对于一幅有着大量色彩变化的图像,红色(red,r)、绿色(green,g)和蓝色(blue,b)三个分量的饱和度的平均值趋于同一灰度值。即灰度世界算法假设自然界景物对于光线的平均反射的均值在总体上是个定值,这个定值中r、g、b三个分量的饱和度趋于一致。当图像中存在丰富的色彩时,通过该灰度世界算法对图像进行处理,可以更好地消除环境光的影响。为了选用合适的增益值对图像进行白平衡处理,可以先根据该灰度世界算法,对图像计算得到第二增益值以作备用。

步骤103,判断第一增益值与第二增益值是否相似。

具体地,作为一种可能的实现方式,可以针对每一颜色分量,分别计算对应的第一增益值和对应的第二增益值之间的差值。若至少一个颜色分量上的差值大于差值阈值,可以确定该第一增益值与该第二增益值不相似;若每一颜色分量上的差值均小于差值阈值,则可以确定该第一增益值与该第二增益值相似。

作为另一种可能的实现方式,可以根据该第一增益值在每一颜色分量上的取值,生成第一向量。并根据第二增益值在每一颜色分量上的取值,生成第二向量。再根据该第一向量和该第二向量之间的向量距离,判断对应的第一增益值第二增益值是否相似。在根据该第一向量和该第二向量之间的向量距离,判断对应的第一增益值和第二增益值是否相似的过程中,若该第一向量和该第二向量之间的向量距离大于距离阈值,可以确定第一增益值和第二增益值不相似。若该第一向量和该第二向量之间的向量距离不大于距离阈值,则可以确定第一增益值和第二增益值相似。其中,该向量距离包括欧几里得距离。

步骤104,若第一增益值与第二增益值相似,根据第二增益值对图像进行白平衡处理。

具体地,若第一增益值与第二增益值相似,表明拍摄该图像所处的环境并未处在大面积纯色和/或混光条件下,由灰度世界算法计算得到的第二增益值已经较为准确,在该情况下若采用由人脸白平衡算法计算得到的第一增益值对图像进行处理反而会使白平衡存在偏移,影响白平衡效果。因此,在第一增益值与第二增益值相似的情况下,可以根据第二增益值对图像进行白平衡处理,以得到更好的白平衡效果。

步骤105,若第一增益值与第二增益值不相似,根据第一增益值对图像进行白平衡处理。

具体地,若第一增益值与第二增益值不相似,表明拍摄该图像所处的环境处在大面积纯色和/或混光条件下。在该情况下实际环境并不符合灰度世界算法所依据的灰度世界假设,若采用由灰度世界算法计算得到的第二增益值对图像进行处理,将难以准确对图像的颜色进行校正。而由于人脸肤色的变化很小,可以有效避免大面积纯色和/或混光条件产生的影响。因此,在第一增益值与第二增益值不相似的情况下,可以根据由人脸白平衡算法计算得到的第一增益值,对图像进行白平衡处理,以得到更好的白平衡效果。

综上所述,本发明实施例中,在根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对该图像计算第一增益值,以及根据灰度世界算法,对该图像计算第二增益值后,通过判断第一增益值与第二增益值是否相似。若第一增益值与第二增益值相似,则根据第二增益值对图像进行白平衡处理。若第一增益值与第二增益值不相似,根据第一增益值对图像进行白平衡处理。从而能够针对不同场景采用更有效的白平衡算法对图像进行处理,使得白平衡算法与实际场景高度匹配,进而有效提升白平衡处理效果。

图2为本发明实施例所提供的另一种图像的白平衡处理方法的流程示意图,如图2所示,该方法包括:

步骤201,根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对该图像计算第一增益值。

具体地,可以先通过人脸识别技术,对图像中的人脸进行识别,得到人脸区域的坐标区间,其中,人脸识别算法,现有技术中有很多种实现方式,例如,采用adaboost模型算法来进行人脸识别,还可以采用其他能快递识别人脸区域的算法,进行人脸区域的识别。对应人脸识别的实现方式,本实施例中不做限定。

在得到人脸区域后,由于一类人种的肤色变化很小。例如,据统计,肤色rgb色彩空间转换到ycbcr空间后,人脸的cb、cr范围分别为[133,173],[77,127]。即只要能确定出人的肤色范围,就可以根据该肤色范围校正图像。因此,可以通过对比该图像中人脸区域的颜色与预设的肤色范围,计算出该图像的第一增益值。

步骤202,根据灰度世界算法,对该图像计算第二增益值。

具体地,灰度世界算法所基于的假设为:对于一幅有着大量色彩变化的图像,r、g、b三个分量的饱和度的平均值趋于同一灰度值g。在实际应用中,通常有两种方法方法确定该灰度值g。作为一种可能的实现方式,可以取固定值。例如,可以取最亮灰度值的一半,即当最亮灰度值为255时,该灰度值g可以为128。作为另一种可能的实现方式,可以通过计算图像中r、g、b三种颜色各自的平均值,取这三个平均值的均值作为该灰度值g。在确定该灰度值g后,可以通过将该灰度值g与r、g、b三种颜色各自的平均值分别进行比较,从而计算出该图像的第二增益值。这种算法简单快速,但是当图像场景颜色并不丰富时,尤其出现大块单色物体时,该算法常会失效。

步骤203,根据第一增益值在每一颜色分量上的取值,生成第一向量,并根据第二增益值在每一颜色分量上的取值,生成第二向量。

在实际应用中,可以利用色彩空间中的向量精确地表征该第一增益值和该第二增益值。色彩空间可以由多种,例如:rgb(red,green,blue)颜色空间,即基于设备三基色的颜色空间。另外,还可以是hsi色彩空间,该hsi色彩空间是从人的视觉系统出发,用色调(hue)、色饱和度(saturation或chroma)和亮度(intensity或brightness)来描述色彩。hsi色彩空间可以用一个圆锥空间模型来描述。当然,还可以采用其他色彩空间进行描述,本实施例中对此不再赘述。作为一种可能的实现方式,可以采用色彩空间中的rgb模型表征第一增益值和第二增益值。

具体地,在rgb模型中,每种颜色出现在r、g、b三个颜色分量中,这个模型基于笛卡尔坐标系统,所考虑的彩色空间是一个立方体。立方体的一个顶点可以作为原点,黑色位于该原点处,白色位于该立方体中离原点最远的顶点处。在该模型中,不同的颜色处在立方体上或者处在立方体内部,并可用从原点分布的向量来表征。作为一种可能的实现方式,假定所有的颜色都归一化了,则该立方体为一个单位立方体,即所有r、g、b的值都在[0,1]的范围内取值。因此,该第一增益值和第二增益值在r、g、b中每一颜色分量上的取值也可以都在[0,1]的范围内取值。将第一增益值在每一颜色分量上的取值组合在一起,便可以生成第一向量,将第二增益值在每一颜色分量上的取值组合在一起,便可以生成第二向量。例如,若第一增益值在r分量上的取值为0.1,在g分量上的取值为0.2,在b分量上的取值为0.3,则可以根据第一增益值在每一颜色分量上的取值,生成第一向量[0.1,0.2,0.3]。若第二增益值在r分量上的取值为0.2,在g分量上的取值为0.2,在b分量上的取值为0.2,则可以根据第二增益值在每一颜色分量上的取值,生成第一向量[0.2,0.2,0.2]。

步骤204,根据第一向量和第二向量之间的向量距离,判断对应的第一增益值和第二增益值是否相似。

在生成第一向量和第二向量后,便实现了对第一增益值和第二增益值的量化表征。在计算第一向量和第二向量之间的向量距离时,可以采用欧几里得距离描述这两个向量之间的向量距离,也可以采用余弦距离、皮尔逊相关系数等方式描述这两个向量之间的向量距离。以采用欧几里得距离描述第一向量和第二向量之间的向量距离为例,可以通过如下欧几里得距离公式:

计算第一向量和第二向量之间的向量距离。其中,d(x,y)为第一向量和第二向量之间的向量距离,xr、xg、xb分别为第一向量中每一颜色分量上的取值,yr、yg、yb分别为第二向量中每一颜色分量上的取值。

在计算得到第一向量和第二向量之间的向量距离后,可以判断该第一向量和该第二向量之间的向量距离是否大于距离阈值,若该第一向量和该第二向量之间的向量距离大于距离阈值,可以确定第一增益值和第二增益值不相似。若该第一向量和该第二向量之间的向量距离不大于距离阈值,则可以确定第一增益值和第二增益值相似。

步骤205,若第一增益值与第二增益值相似,根据第二增益值对图像进行白平衡处理。

具体地,若第一增益值与第二增益值相似,表明图像中的景物反射面足够丰富,反射光谱是均衡的。可以利用灰度世界算法计算得到的第二增益值对图像进行准确的白平衡处理。在该情况下若采用由人脸白平衡算法计算得到的第一增益值对图像进行处理反而会使白平衡存在偏移,影响白平衡效果。

步骤206,若第一增益值与第二增益值不相似,根据第一增益值对图像进行白平衡处理。

具体地,若第一增益值与第二增益值不相似,表明拍摄该图像所处的环境可能处在大面积纯色和/或混光条件下。在该情况下实际环境并不符合灰度世界算法所依据的灰度世界假设,难以利用灰度世界算法计算得到的第二增益值对图像进行准确的白平衡处理。因此,在该情况下利用人脸白平衡算法有效改善白平衡的处理结果,以达到更好的拍摄效果。

综上所述,本发明实施例中,在根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对该图像计算第一增益值,以及根据灰度世界算法,对该图像计算第二增益值后,可以根据第一增益值在每一颜色分量上的取值,生成第一向量,并根据第二增益值在每一颜色分量上的取值,生成第二向量。根据该第一向量和该第二向量之间的向量距离,判断对应的第一增益值和第二增益值是否相似。若第一增益值与第二增益值相似,则根据第二增益值对图像进行白平衡处理。若第一增益值与第二增益值不相似,根据第一增益值对图像进行白平衡处理。从而使得人脸白平衡算法只有在大面积纯色和/或混光等特殊场景下才会启用,在反射光谱均衡的简单场景下不启用。进而有效体现人脸白平衡算法的优势,同时有效避免人脸白平衡算法在部分场景中的负面效果。

为了实现上述实施例,本发明还提出了一种图像的白平衡处理装置,图3为本发明实施例所提供的一种图像的白平衡处理装置的结构示意图,如图3所示,该图像的白平衡处理装置包括:计算模块31、判断模块32和处理模块33。

计算模块31,用于根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对图像计算第一增益值;根据灰度世界算法,对图像计算第二增益值。

判断模块32,用于判断第一增益值与第二增益值是否相似。

处理模块33,用于若第一增益值与第二增益值相似,根据第一增益值对图像进行白平衡处理;若第一增益值与第二增益值不相似,根据第二增益值对图像进行白平衡处理。

需要说明的是,前述对方法实施例的描述,也适用于本发明实施例的装置,其实现原理类似,在此不再赘述。

本实施例的一种图像的白平衡处理装置中,计算模块,用于根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对图像计算第一增益值,根据灰度世界算法,对图像计算第二增益值。判断模块,用于判断第一增益值与第二增益值是否相似。处理模块,用于若第一增益值与第二增益值相似,根据第一增益值对图像进行白平衡处理,若第一增益值与第二增益值不相似,根据第二增益值对图像进行白平衡处理。解决了通过用户设定的方式选择白平衡算法,容易导致白平衡算法与实际场景不匹配,导致白平衡处理效果较差的技术问题。

基于上述实施例,图4为本发明实施例所提供的另一种图像的白平衡处理装置的结构示意图,如图4所示,在如图3所示的基础上,该图像的白平衡处理装置中判断模块32包括:差值单元321和第一判断单元322。

差值单元321,用于针对每一颜色分量,分别计算对应的第一增益值和对应的第二增益值之间的差值。

第一判断单元322,用于若至少一个颜色分量上的差值大于差值阈值,确定第一增益值与第二增益值不相似;若每一颜色分量上的差值均小于差值阈值,确定第一增益值与第二增益值相似。

基于上述实施例,图5为本发明实施例所提供的又一种图像的白平衡处理装置的结构示意图,如图5所示,在如图3所示的基础上,该图像的白平衡处理装置中判断模块32包括:生成单元323和第二判断单元324。

生成单元323,用于根据第一增益值在每一颜色分量上的取值,生成第一向量;根据第二增益值在每一颜色分量上的取值,生成第二向量。

第二判断单元324,用于根据第一向量和第二向量之间的向量距离,判断对应的第一增益值和第二增益值是否相似。

需要说明的是,前述对方法实施例的描述,也适用于本发明实施例的装置,其实现原理类似,在此不再赘述。

本实施例的一种图像的白平衡处理装置中,计算模块,用于根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对图像计算第一增益值,根据灰度世界算法,对图像计算第二增益值。判断模块,用于判断第一增益值与第二增益值是否相似。处理模块,用于若第一增益值与第二增益值相似,根据第一增益值对图像进行白平衡处理,若第一增益值与第二增益值不相似,根据第二增益值对图像进行白平衡处理。解决了通过用户设定的方式选择白平衡算法,容易导致白平衡算法与实际场景不匹配,导致白平衡处理效果较差的技术问题。

为了实现上述实施例,本发明还提出了一种终端设备,图6是根据本发明一个实施例的终端设备的结构示意图,如图6所示,该终端设备1000包括:壳体1100和位于壳体1100内的摄像头1113、存储器1114和处理器1115。

其中,存储器1114存储有可执行程序代码;处理器1115通过读取存储器1114中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行前述实施例的白平衡处理方法。

需要说明的是,前述对白平衡处理方法实施例的描述,也适用于本发明实施例的终端设备1000,其实现原理类似,在此不再赘述。

综上所述,本发明实施例的终端设备,根据用于将图像中的人脸调整至肤色的人脸白平衡算法,对图像计算第一增益值。根据灰度世界算法,对图像计算第二增益值。判断第一增益值与第二增益值是否相似。若第一增益值与第二增益值相似,根据第二增益值对图像进行白平衡处理,若第一增益值与第二增益值不相似,根据第一增益值对图像进行白平衡处理。解决了通过用户设定的方式选择白平衡算法,容易导致白平衡算法与实际场景不匹配,导致白平衡处理效果较差的技术问题。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1