一种图像色彩矫正方法及电子设备与流程

文档序号:13097564阅读:192来源:国知局
一种图像色彩矫正方法及电子设备与流程

本发明涉及图像处理技术领域,特别涉及一种图像色彩矫正方法及电子设备。



背景技术:

在某些生活场景中,用户在有色光源下拍摄照片或进行即时视频时,拍摄的照片或摄像头获取的视频帧图像的颜色会因为光照原因出现严重偏差,比如在一些娱乐场所,造成照片或视频帧图像中人或物体颜色的失真,影响视觉效果;或者用户对已有图片的色彩需要矫正,所以需要一种能够对图像或视频帧的色彩进行矫正的方法。

常规对图像进行处理是在rgb或yuv色彩空间中进行的。现有技术中,在yuv色彩空间对图像的色彩矫正时,通常只能对亮度分量进行处理,若要对图像的色度进行处理,则会使得图像出现严重的色彩偏差。对于rgb色彩空间的图像的色彩矫正,有学者提出了msrcr(multi-scaleretinexwithcolorrestoration)带色彩恢复的多尺度视网膜增强算法,使用这种方法时,要对图像的rgb三个通道分别进行不同尺度的高斯模糊,比如对三个通道分别进行3种不同尺度的高斯模糊时,对图像进行色彩矫正相当于要做9次高斯滤波,之后再进行后续计算,这样算法复杂度较高,难以实现对视频帧的实时处理,同时在一些情况下,比如图像亮度特别低时,这样处理的效果比较差,如处理后的图像的噪声会被放大。



技术实现要素:

为了实现对图像色彩的矫正,消除图像或视频因为有色光源等造成的颜色严重偏差、图像中人或物体颜色失真的问题,恢复图像原始色彩,提高图像的视觉效果,本发明实施例提供了一种图像色彩矫正方法及电子设备。所述技术方案如下:

第一方面,提供了一种图像色彩矫正方法,所述方法包括:

将目标图像的色彩空间转为cielab色彩空间;

矫正所述目标图像在所述cielab色彩空间下的l分量、a分量及b分量的值,获取矫正后的所述目标图像;以及

将矫正后的所述目标图像的色彩空间转为yuv或rgb色彩空间。

结合第一方面,在第一种可能的实现方式中,在执行所述将目标图像的色彩空间转为cielab色彩空间的步骤之前,所述方法还包括:

对所述目标图像进行预处理。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述对所述目标图像进行预处理包括:

对所述目标图像的每个像素点的原始亮度分量值进行预处理。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述对所述目标图像的每个像素点的原始亮度分量值进行预处理包括:

获取所述目标图像的每个像素点的原始亮度分量值;

对所述每个像素点的原始亮度分量值取反,获取每个像素点的取反亮度分量值;

对所述每个像素点的取反亮度分量值进行滤波,获取滤波后的每个像素点的取反亮度分量值;

根据所述每个像素点的原始亮度分量值、所述滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值。

结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述对所述每个像素点的原始亮度分量值取反包括:

用所述原始亮度分量值的取值范围的最大取值减去所述每个像素点的原始亮度分量值。

结合第一方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述根据所述每个像素点的原始亮度分量值、所述滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值包括:

对所述每个像素点的原始亮度分量值、所述滤波后的每个像素点的取反亮度分量值进行归一化处理;

根据所述归一化后的每个像素点的亮度分量值及归一化后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值;

对重新计算的所述每个像素点的亮度分量值进行反归一化处理;

采用所述反归一化处理后的每个像素点的亮度分量值调节所述目标图像的亮度。

结合第一方面,在第六种可能的实现方式中,所述矫正所述目标图像在所述cielab色彩空间下的l分量的值包括:

统计所述目标图像在所述cielab色彩空间下的l分量的均值;

根据所述均值,获取所述目标图像的l分量的矫正值。

结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述根据所述均值,获取所述目标图像的l分量的矫正值包括:

根据所述均值,生成映射函数;

获取l分量在所述映射函数中的映射值为所述目标图像的l分量的矫正值。

结合第一方面的第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述矫正所述目标图像在所述cielab色彩空间下的a分量及b分量的值包括:

根据所述a分量的高阈值及低阈值,计算大于所述a分量的高阈值的a分量的均值,和计算小于所述a分量的低阈值的a分量的均值;

根据所述b分量的高阈值及低阈值,计算大于所述b分量的高阈值的b分 量的均值,和计算小于所述b分量的低阈值的b分量的均值;

根据l分量的矫正值,所述大于a分量的高阈值的均值,及所述小于a分量的低阈值的均值,计算所述a分量的矫正值;以及

根据l分量的矫正值,所述大于b分量的高阈值的均值,及所述小于b分量的低阈值的均值,计算所述b分量的矫正值。

结合第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述矫正所述目标图像在所述cielab色彩空间下的a分量及b分量的值还包括:

分别计算所述a分量和所述b分量的高阈值和低阈值。

结合第一方面的第九种可能的实现方式,在第十种可能的实现方式中,所述分别计算所述a分量和所述b分量的高阈值和低阈值包括:

统计所述目标图像在所述cielab色彩空间下的a分量和b分量的最大值和最小值;

根据所述a分量和b分量的最大值和最小值,分别计算所述a分量和所述b分量的高阈值和低阈值。

第二方面,提供了一种电子设备,所述设备包括:

cielab色彩空间转换模块,用于将目标图像的色彩空间转为cielab色彩空间;

矫正模块,用于矫正所述目标图像在所述cielab色彩空间下的l分量、a分量及b分量的值,获取矫正后的所述目标图像;以及

yuv或rgb色彩空间转换模块,用于将矫正后的所述目标图像的色彩空间转为yuv或rgb色彩空间。

结合第二方面,在第一种可能的实现方式中,所述设备还包括:

预处理模块,用于对所述目标图像进行预处理。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述预处理模块包括:

原始亮度分量值预处理模块,用于对所述目标图像的每个像素点的原始亮 度分量值进行预处理。

结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述原始亮度分量值预处理模块包括:

原始亮度分量值获取模块,用于获取所述目标图像的每个像素点的原始亮度分量值;

亮度分量值取反模块,用于对所述每个像素点的原始亮度分量值取反,获取每个像素点的取反亮度分量值;

取反亮度分量值滤波模块,用于对所述每个像素点的取反亮度分量值进行滤波,获取滤波后的每个像素点的取反亮度分量值;

亮度分量值重新计算模块,用于根据所述每个像素点的原始亮度分量值、所述滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值。

结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述亮度分量值取反模块具体用于:

用所述原始亮度分量值的取值范围的最大取值减去所述每个像素点的原始亮度分量值。

结合第二方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述亮度分量值重新计算模块包括:

归一化处理子模块,用于对所述每个像素点的原始亮度分量值、所述滤波后的每个像素点的取反亮度分量值进行归一化处理;

亮度分量值重新计算子模块,用于根据所述归一化后的每个像素点的亮度分量值及归一化后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值;

反归一化处理子模块,用于对重新计算的所述每个像素点的亮度分量值进行反归一化处理;

亮度分量值调节子模块,用于采用所述反归一化处理后的每个像素点的亮 度分量值调节所述目标图像的亮度。

结合第二方面,在第六种可能的实现方式中,所述矫正模块包括:

统计l分量均值模块,用于统计所述目标图像在所述cielab色彩空间下的l分量的均值;

l分量矫正值获取模块,用于根据所述均值,获取所述目标图像的l分量的矫正值。

结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述l分量矫正值获取模块包括:

映射函数生成子模块,用于根据所述均值,生成映射函数;

l分量矫正值获取子模块,获取l分量在所述映射函数中的映射值为所述目标图像的l分量的矫正值。

结合第二方面的第六种或第七种可能的实现方式,在第八种可能的实现方式中,矫正模块还包括:

a分量均值计算模块,用于根据所述a分量的高阈值及低阈值,计算大于所述a分量的高阈值的a分量的均值,和计算小于所述a分量的低阈值的a分量的均值;

b分量均值计算模块,用于根据所述b分量的高阈值及低阈值,计算大于所述b分量的高阈值的b分量的均值,和计算小于所述b分量的低阈值的b分量的均值;

a分量的矫正值计算模块,用于根据l分量的矫正值,所述大于a分量的高阈值的均值,及所述小于a分量的低阈值的均值,计算所述a分量的矫正值;以及

b分量的矫正值计算模块,用于根据l分量的矫正值,所述大于b分量的高阈值的均值,及所述小于b分量的低阈值的均值,计算所述b分量的矫正值。

结合第二方面的第八种可能的实现方式,在第九种可能的实现方式中,所述矫正模块还包括:

高阈值和低阈值计算模块,用于分别计算所述a分量和所述b分量的高阈值和低阈值。

结合第二方面的第九种可能的实现方式,在第十种可能的实现方式中,所述高阈值和低阈值计算模块包括:

最大值和最小值统计子模块,用于统计所述目标图像在所述cielab色彩空间下的a分量和b分量的最大值和最小值;

高阈值和低阈值计算子模块,用于根据所述a分量和b分量的最大值和最小值,分别计算所述a分量和所述b分量的高阈值和低阈值。

第三方面,提供了一种电子设备,所述电子设备包括存储器以及与所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

将目标图像的色彩空间转为cielab色彩空间;

矫正所述目标图像在所述cielab色彩空间下的l分量、a分量及b分量的值,获取矫正后的所述目标图像;以及

将矫正后的所述目标图像的色彩空间转为yuv或rgb色彩空间。

结合第三方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

对所述目标图像进行预处理。

结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,

对所述目标图像的每个像素点的原始亮度分量值进行预处理。

结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

获取所述目标图像的每个像素点的原始亮度分量值;

对所述每个像素点的原始亮度分量值取反,获取每个像素点的取反亮度分量值;

对所述每个像素点的取反亮度分量值进行滤波,获取滤波后的每个像素点 的取反亮度分量值;

根据所述每个像素点的原始亮度分量值、所述滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值。

结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

用所述原始亮度分量值的取值范围的最大取值减去所述每个像素点的原始亮度分量值。

结合第三方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

对所述每个像素点的原始亮度分量值、所述滤波后的每个像素点的取反亮度分量值进行归一化处理;

根据所述归一化后的每个像素点的亮度分量值及归一化后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值;

对重新计算的所述每个像素点的亮度分量值进行反归一化处理;

采用所述反归一化处理后的每个像素点的亮度分量值调节所述目标图像的亮度。

结合第三方面,在第六种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

统计所述目标图像在所述cielab色彩空间下的l分量的均值;

根据所述均值,获取所述目标图像的l分量的矫正值。

结合第三方面的第六种可能的实现方式,在第七种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据所述均值,生成映射函数;

获取l分量在所述映射函数中的映射值为所述目标图像的l分量的矫正值。

结合第三方面的第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据所述a分量的高阈值及低阈值,计算大于所述a分量的高阈值的a分量的均值,和计算小于所述a分量的低阈值的a分量的均值;

根据所述b分量的高阈值及低阈值,计算大于所述b分量的高阈值的b分量的均值,和计算小于所述b分量的低阈值的b分量的均值;

根据l分量的矫正值,所述大于a分量的高阈值的均值,及所述小于a分量的低阈值的均值,计算所述a分量的矫正值;以及

根据l分量的矫正值,所述大于b分量的高阈值的均值,及所述小于b分量的低阈值的均值,计算所述b分量的矫正值。

结合第三方面的第八种可能的实现方式,在第九种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

分别计算所述a分量和所述b分量的高阈值和低阈值。

结合第三方面的第九种可能的实现方式,在第十种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

统计所述目标图像在所述cielab色彩空间下的a分量和b分量的最大值和最小值;

根据所述a分量和b分量的最大值和最小值,分别计算所述a分量和所述b分量的高阈值和低阈值。

本发明实施例提供了一种图像色彩矫正方法及电子设备。该方法通过将目标的色彩空间转为cielab色彩空间,因为在cielab色彩空间中,l、a及b分量是分离的,l表示亮度,a表示从洋红色至绿色的范围,a表示从黄色至蓝色的范围,从而能够对l、a及b分量分别进行矫正,相较于在yuv色彩空间中,y表示亮度,u和v表示色度、用于描述影像色彩及饱和度,对图像的色彩进行矫正,是对亮度进行矫正,或同时对色彩及饱和度进行矫正,使得矫正后的图像会出现严重色彩偏差,影响图像视觉效果,从而本发明实施例提供的方法提高了对图像进行色彩矫正的效果,有利于恢复图像的原始色彩;而在rgb色彩空间中,虽然r、g、b分别表示颜色通道红、绿、蓝,使得能够对三个颜色通 道分别进行矫正,但是现有的矫正算法比如带色彩恢复的多尺度视网膜增强算法,算法复杂度较高,难以实现对视频帧进行实时处理,而本发明实施例提供的方法,对l、a及b三个分量矫正的算法较为简单,使得避免了对设备处理资源的大量占用,使得设备在处理即时视频时能同时对视频帧进行处理,提高了处理效果,提高了用户体验;另外,本发明通过矫正目标图像在cielab色彩空间下的l分量、a分量及b分量的值,实现了对图像色彩的矫正,消除了图像或视频帧因为有色光源等造成的颜色严重偏差、图像中人或物体颜色失真的问题,使得能够恢复有色光源下图像的原始色彩,提高了图像的视觉效果,提高了用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种图像色彩矫正方法流程图;

图2是本发明实施例提供的一种图像色彩矫正方法流程图;

图3是本发明实施例提供的一种图像色彩矫正方法流程图;

图4是本发明实施例提供的一种电子设备结构示意图;

图5是本发明实施例提供的一种电子设备结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其 他实施例,都属于本发明保护的范围。

实施例一

本发明实施例提供了一种图像色彩矫正方法,参照图1所示,方法包括:

101、将目标图像的色彩空间转为cielab色彩空间。

102、矫正目标图像在cielab色彩空间下的l分量、a分量及b分量的值,获取矫正后的目标图像。

具体的,矫正目标图像在cielab色彩空间下的l分量的值可以包括:

统计目标图像在cielab色彩空间下的l分量的均值;

根据均值,获取目标图像的l分量的矫正值。

其中,根据均值,获取目标图像的l分量的矫正值的过程可以包括:

根据均值,生成映射函数;

获取l分量在映射函数中的映射值为目标图像的l分量的矫正值。

具体的,矫正目标图像在cielab色彩空间下的a分量及b分量的值可以包括:

根据a分量的高阈值及低阈值,计算大于a分量的高阈值的a分量的均值,和计算小于a分量的低阈值的a分量的均值;

根据b分量的高阈值及低阈值,计算大于b分量的高阈值的b分量的均值,和计算小于b分量的低阈值的b分量的均值;

根据l分量的矫正值,大于a分量的高阈值的均值,及小于a分量的低阈值的均值,计算a分量的矫正值;以及

根据l分量的矫正值,大于b分量的高阈值的均值,及小于b分量的低阈值的均值,计算b分量的矫正值。

可选的,矫正目标图像在cielab色彩空间下的a分量及b分量的值的过程还可以包括:

分别计算a分量和b分量的高阈值和低阈值。

可选的,分别计算a分量和b分量的高阈值和低阈值的过程可以包括:

统计目标图像在cielab色彩空间下的a分量和b分量的最大值和最小值;

根据a分量和b分量的最大值和最小值,分别计算a分量和b分量的高阈值和低阈值。

103、将矫正后的目标图像的色彩空间转为yuv或rgb色彩空间。

可选的,在执行将目标图像的色彩空间转为cielab色彩空间的步骤之前,方法还包括:

对目标图像进行预处理。

具体的,对目标图像的每个像素点的原始亮度分量值进行预处理。

可选的,对目标图像的每个像素点的原始亮度分量值进行预处理的过程可以包括:

获取目标图像的每个像素点的原始亮度分量值;

对每个像素点的原始亮度分量值取反,获取每个像素点的取反亮度分量值;

对每个像素点的取反亮度分量值进行滤波,获取滤波后的每个像素点的取反亮度分量值;

根据每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值。

其中,对每个像素点的原始亮度分量值取反可以包括:

用原始亮度分量值的取值范围的最大取值减去每个像素点的原始亮度分量值。

其中,根据每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值的过程可以包括:

对每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值进行归一化处理;

根据归一化后的每个像素点的亮度分量值及归一化后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值;

对重新计算的每个像素点的亮度分量值进行反归一化处理;

采用反归一化处理后的每个像素点的亮度分量值调节目标图像的亮度。

本发明实施例提供了一种图像色彩矫正方法,通过将目标的色彩空间转为cielab色彩空间,因为在cielab色彩空间中,l、a及b分量是分离的,l表示亮度,a表示从洋红色至绿色的范围,a表示从黄色至蓝色的范围,从而能够对l、a及b分量分别进行矫正,相较于在yuv色彩空间中,y表示亮度,u和v表示色度、用于描述影像色彩及饱和度,对图像的色彩进行矫正,是对亮度进行矫正,或同时对色彩及饱和度进行矫正,使得矫正后的图像会出现严重色彩偏差,影响图像视觉效果,从而本发明实施例提供的方法提高了对图像进行色彩矫正的效果,有利于恢复图像的原始色彩;而在rgb色彩空间中,虽然r、g、b分别表示颜色通道红、绿、蓝,使得能够对三个颜色通道分别进行矫正,但是现有的矫正算法比如带色彩恢复的多尺度视网膜增强算法,算法复杂度较高,难以实现对视频帧进行实时处理,而本发明实施例提供的方法,对l、a及b三个分量矫正的算法较为简单,使得避免了对设备处理资源的大量占用,使得设备在处理即时视频时能同时对视频帧进行处理,提高了处理效果,提高了用户体验;另外,本发明通过矫正目标图像在cielab色彩空间下的l分量、a分量及b分量的值,实现了对图像色彩的矫正,消除了图像或视频帧因为有色光源等造成的颜色严重偏差、图像中人或物体颜色失真的问题,使得能够恢复有色光源下图像的原始色彩,提高了图像的视觉效果,提高了用户体验。

实施例二

本发明实施例提供了一种图像色彩矫正方法,参照图2所示,方法包括:

201、将目标图像的色彩空间转为cielab色彩空间。

该目标图像包括静态图像例如图片、照片等,动态图像例如gif(graphicsinterchangeformat,图像互换格式)的图像帧、影片的图像帧或即时视频的视频帧。

该目标图像的色彩空间包括yuv("y"即luminance或luma,表示明亮度;"u"和"v"即chrominance或chroma,表示色度;yuv也称ycrcb)色彩空间,rgb (三原色光模式,r即red、表示红,g即green、表示绿,b即blue、表示蓝)色彩空间,还可以包括cmy(c即cyan、表示青,m即magenta、表示洋红或品红,y即yellow、表示黄),hsv(hue,saturation,value,其中h表示色调,s表示饱和度,v表示亮度)等色彩空间,还可以是其他的色彩空间,本发明实施例对具体的色彩空间不加以限定。

需要值得注意的是,因为图像的各个色彩空间之间可以相互转换且转换方法为现有技术,所以为了方便说明,本发明实施例中以目标图像的色彩空间为yuv和rgb色彩空间为例进行说明,对于其他色彩空间的图像通过转换为yuv或rgb色彩空间后进行本发明实施例所述的方法。

具体的,可以通过三维查表插值法或多项式回归法将目标图像的色彩空间转为cielab(国际照明委员会,法语为commissioninternationaledel'eclairage,l表示亮度,a表示从洋红色至绿色的范围,b表示从黄色至蓝色的范围)色彩空间。

需要说明的是,此处将目标图像的色彩转换为cielab色彩空间是现有技术,现有技术中关于该项技术的方法均可以用于该步骤。

202、统计目标图像在cielab色彩空间下的l分量的均值。

具体的,该过程可以包括:

获取目标图像在cielab色彩空间下的每个像素点的l分量值;

将获取的每个像素点的l分量值相加,再除以像素点总个数,获取l分量的均值,该均值可以用avg表示。

除了上述统计目标图像在cielab色彩空间下的l分量的均值的方式,还可以通过其他方式统计l分量的均值。

203、根据均值,获取目标图像的l分量的矫正值。

该过程可以包括:

a、根据均值,生成映射函数。

具体的,根据该均值,生成二次映射函数,该二次映射函数可以表示为: y=ax2+bx+c。

该二次映射函数开口向下,可以通过取值点(0,0),(avg,2*avg),(100,100)计算该函数的系数,以确定该二次映射函数。

b、获取l分量在映射函数中的映射值为目标图像的l分量的矫正值。

具体的,将开始获取的目标图像在cielab色彩空间下的每个像素点的l分量值作为变量x,通过步骤a中确定的二次映射函数获取y的映射值,y取值范围为[0,100],该获取的y的映射值即为l分量的矫正值。

需要说明的是,步骤202-203是实现矫正目标图像在cielab色彩空间下的l分量的值的过程,除了上述方式之外,还可以通过其他方式实现过程,本发明实施例对具体的方式不加以限定。

204、分别计算a分量和b分量的高阈值和低阈值。

具体的,统计目标图像在cielab色彩空间下的a分量和b分量的最大值和最小值。

通过获取目标图像在cielab色彩空间下的每个像素点的a分量值和b分量值,统计a分量的最大值和最小值,以及统计b分量的最大值和最小值,其中,最大值用max表示,最小值用min表示。

根据a分量和b分量的最大值和最小值,分别计算a分量和b分量的高阈值和低阈值。

通过以下公式,分别计算a分量和b分量的高阈值和低阈值:

max_thresh=max-(max-min)*0.2

min_thresh=min+(max-min)*0.2

其中,max_thresh表示高阈值,min_thresh表示低阈值。

205、根据a分量的高阈值及低阈值,计算大于a分量的高阈值的a分量的均值,和计算小于a分量的低阈值的a分量的均值。

具体的,根据该a分量的高阈值,统计目标图像中每个像素点中的a分量值大于a分量的高阈值的所有a分量的值,以及计算该统计的所有a分量的值 的均值,该均值用offset_ha表示。

根据该a分量的低阈值,统计目标图像中每个像素点中的a分量值小于a分量的低阈值的所有a分量的值,以及计算该统计的所有a分量的值的均值,该均值用offset_la表示。

206、根据b分量的高阈值及低阈值,计算大于b分量的高阈值的b分量的均值,和计算小于b分量的低阈值的b分量的均值。

具体的,根据该b分量的高阈值,统计目标图像中每个像素点中的b分量值大于b分量的高阈值的所有b分量的值,以及计算该统计的所有b分量的值的均值,该均值用offset_hb表示。

根据该b分量的低阈值,统计目标图像中每个像素点中的b分量值小于b分量的低阈值的所有b分量的值,以及计算该统计的所有b分量的值的均值,该均值用offset_lb表示。

需要说明的是,步骤204-206可以在步骤202-203之后执行,也可以与步骤202-203同时执行,本发明实施例对步骤204-206和步骤202-203的执行顺序不加以限定;其中,步骤206可以是在步骤205之后执行,也可以与步骤205同时执行,还可以是在步骤205之前执行,本本发明实施例对步骤205和步骤206的执行顺序不加以限定。

207、根据l分量的矫正值,大于a分量的高阈值的均值,及小于a分量的低阈值的均值,计算a分量的矫正值。

具体的,通过以下公式计算a分量的矫正值:

f(x)=((x-offset_ha)*l+(x-offset_la)*(100-l))/100

其中,该公式中的l表示步骤203中获取的l分量的矫正值,x为开始获取的目标图像在cielab色彩空间下的每个像素点的a分量值,f(x)为a分量的矫正值。

208、根据l分量的矫正值,大于b分量的高阈值的均值,及小于b分量的低阈值的均值,计算b分量的矫正值。

具体的,通过以下公式计算b分量的矫正值:

f(x)=((x-offset_hb)*l+(x-offset_lb)*(100-l))/100

其中,该公式中的l表示步骤203中获取的l分量的矫正值,x为开始获取的目标图像在cielab色彩空间下的每个像素点的b分量值,f(x)为b分量的矫正值。

值得注意的是,步骤208可以在步骤207之后执行,也可以与步骤207同时执行,还可以是在步骤207之前执行,本发明实施例对步骤207和步骤208的执行顺序不加以限定。

需要说明的是,步骤205-208是实现矫正目标图像在cielab色彩空间下的a分量及b分量的值的过程,除了上述方式之外,还可以通过其他方式实现过程,本发明实施例对具体的方式不加以限定。

209、将矫正后的目标图像的色彩空间转为yuv或rgb色彩空间。

本发明实施例对具体的方式不加以限定。

本发明实施例提供了一种图像色彩矫正方法,通过将目标的色彩空间转为cielab色彩空间,因为在cielab色彩空间中,l、a及b分量是分离的,l表示亮度,a表示从洋红色至绿色的范围,a表示从黄色至蓝色的范围,从而能够对l、a及b分量分别进行矫正,相较于在yuv色彩空间中,y表示亮度,u和v表示色度、用于描述影像色彩及饱和度,对图像的色彩进行矫正,是对亮度进行矫正,或同时对色彩及饱和度进行矫正,使得矫正后的图像会出现严重色彩偏差,影响图像视觉效果,从而本发明实施例提供的方法提高了对图像进行色彩矫正的效果,有利于恢复图像的原始色彩;而在rgb色彩空间中,虽然r、g、b分别表示颜色通道红、绿、蓝,使得能够对三个颜色通道分别进行矫正,但是现有的矫正算法比如带色彩恢复的多尺度视网膜增强算法,算法复杂度较高,难以实现对视频帧进行实时处理,而本发明实施例提供的方法,对l、a及b三个分量矫正的算法较为简单,使得避免了对设备处理资源的大量占用,使得设备在处理即时视频时能同时对视频帧进行处理,提高了处理效果,提高了用 户体验;另外,本发明通过矫正目标图像在cielab色彩空间下的l分量、a分量及b分量的值,实现了对图像色彩的矫正,消除了图像或视频帧因为有色光源等造成的颜色严重偏差、图像中人或物体颜色失真的问题,使得能够恢复有色光源下图像的原始色彩,提高了图像的视觉效果,提高了用户体验。

实施例三

本发明实施例提供了一种图像色彩矫正方法,在本发明实施例中优选的对目标图像先进行预处理,参照图3所示,方法包括:

301、获取目标图像的每个像素点的原始亮度分量值。

该目标图像的色彩空间为yuv或rgb,或是其他色彩空间转换为yuv或rgb色彩空间。

对具体的获取方式不加以限定。

302、对每个像素点的原始亮度分量值取反,获取每个像素点的取反亮度分量值。

具体的,对每个像素点的原始亮度分量值取反可以包括:

用原始亮度分量值的取值范围的最大取值减去每个像素点的原始亮度分量值。

目标图像的色彩空间为yuv或rgb时,亮度分量y用8bit无符号数表示,取值范围为[0,255],则原始亮度分量值的取值范围的最大值为255,例如某个像素点的亮度分量值为8则对该像素点的亮度分量值取反为用255减去8,获取该像素点的取反亮度分量值即为247。

303、对每个像素点的取反亮度分量值进行滤波,获取滤波后的每个像素点的取反亮度分量值。

具体的,滤波可以是高斯滤波,可以采用iir(自适应无限冲激响应)高斯滤波,滤波强度可以为100;也可以采用常规高斯滤波,滤波窗口大小可以目标图像的0.1倍,滤波强度可以为100,此外,还可以采用其他滤波,滤波强度及滤波窗口大小根据实际需要进行设置,本发明实施例对此不加以限定。

304、根据每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值。

具体的,过程包括:

a、对每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值进行归一化处理。

可以通过将每个像素点的原始亮度分量值和滤波后的每个像素点的取反亮度分量值除以亮度分量值的最大取值以进行归一化处理,即可以通过除以255进行归一化处理,还可以通过其他方式进行归一化处理,本发明实施例对此不加以限定。

b、根据归一化后的每个像素点的亮度分量值及归一化后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值。

具体的,通过以下公式计算:

y=pow(y,0.5)*mask+y*(1-mask)

其中,mask表示归一化后的每个像素点的取反亮度分量值,公式右侧y表示归一化后的每个像素点的亮度分量值,左侧y为重新计算的每个像素点的亮度分量值。

c、对重新计算的每个像素点的亮度分量值进行反归一化处理。

通过乘以亮度分量值的最大取值对重新计算的每个像素点的亮度分量值进行反归一化处理,具体的根据该304步骤a的归一化处理的方式进行对应的反归一化处理。

d、采用反归一化处理后的每个像素点的亮度分量值调节目标图像的亮度。

具体的,采用该反归一化后的每个像素点的亮度分量值替换目标图像的原有亮度值。

需要说明的是,步骤301-304是实现对目标图像的每个像素点的原始亮度分量值进行预处理的过程,还可以通过其他方式实现过程;对目标图像的每个像素点的原始亮度分量值进行预处理的过程,是实现对目标图像进行预处理, 除了过程之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。

305、将目标图像的色彩空间转为cielab色彩空间。

具体的,该步骤与实施例二中步骤201相同,此处不再加以赘述。

306、统计目标图像在cielab色彩空间下的l分量的均值。

具体的,该步骤与实施例二中步骤202相同,此处不再加以赘述。

307、根据均值,获取目标图像的l分量的矫正值。

具体的,该步骤与实施例二中步骤203相同,此处不再加以赘述。

需要说明的是,步骤306-307是实现矫正目标图像在cielab色彩空间下的l分量的值的过程,除了上述方式之外,还可以通过其他方式实现过程,本发明实施例对具体的方式不加以限定。

308、分别计算a分量和b分量的高阈值和低阈值。

具体的,该步骤与实施例二中步骤204相同,此处不再加以赘述。

309、根据a分量的高阈值及低阈值,计算大于a分量的高阈值的a分量的均值,和计算小于a分量的低阈值的a分量的均值。

具体的,该步骤与实施例二中步骤205相同,此处不再加以赘述。

3010、根据b分量的高阈值及低阈值,计算大于b分量的高阈值的b分量的均值,和计算小于b分量的低阈值的b分量的均值。

具体的,该步骤与实施例二中步骤206相同,此处不再加以赘述。

需要说明的是,步骤308-3010可以在步骤306-307之后执行,也可以与步骤306-307同时执行,本发明实施例对步骤308-3010和步骤306-307的执行顺序不加以限定;其中,步骤3010可以在步骤309之后执行,也可以与步骤309同时执行,还可以是在步骤309之前执行,本发明实施例对步骤309和步骤3010的执行顺序不加以限定。

3011、根据l分量的矫正值,大于a分量的高阈值的均值,及小于a分量的低阈值的均值,计算a分量的矫正值。

具体的,该步骤与实施例二中步骤207相同,此处不再加以赘述。

3012、根据l分量的矫正值,大于b分量的高阈值的均值,及小于b分量的低阈值的均值,计算b分量的矫正值。

具体的,该步骤与实施例二中步骤208相同,此处不再加以赘述。

值得注意的是,步骤3012可以在步骤3011之后执行,也可以与步骤3011同时执行,还可以是在步骤3011之前执行,本发明实施例对步骤3011和步骤3012的执行顺序不加以限定。

需要说明的是,步骤309-3012是实现矫正目标图像在cielab色彩空间下的a分量及b分量的值的过程,除了上述方式之外,还可以通过其他方式实现过程,还可以通过其他方式实现过程。

3013、将矫正后的目标图像的色彩空间转为yuv或rgb色彩空间。

本发明实施例对具体的方式不加以限定。

本发明实施例提供了一种图像色彩矫正方法,通过将目标的色彩空间转为cielab色彩空间,因为在cielab色彩空间中,l、a及b分量是分离的,l表示亮度,a表示从洋红色至绿色的范围,a表示从黄色至蓝色的范围,从而能够对l、a及b分量分别进行矫正,相较于在yuv色彩空间中,y表示亮度,u和v表示色度、用于描述影像色彩及饱和度,对图像的色彩进行矫正,是对亮度进行矫正,或同时对色彩及饱和度进行矫正,使得矫正后的图像会出现严重色彩偏差,影响图像视觉效果,从而本发明实施例提供的方法提高了对图像进行色彩矫正的效果,有利于恢复图像的原始色彩;而在rgb色彩空间中,虽然r、g、b分别表示颜色通道红、绿、蓝,使得能够对三个颜色通道分别进行矫正,但是现有的矫正算法比如带色彩恢复的多尺度视网膜增强算法,算法复杂度较高,难以实现对视频帧进行实时处理,而本发明实施例提供的方法,对l、a及b三个分量矫正的算法较为简单,使得避免了对设备处理资源的大量占用,使得设备在处理即时视频时能同时对视频帧进行处理,提高了处理效果,提高了用户体验;另外,本发明通过矫正目标图像在cielab色彩空间下的l分量、a分 量及b分量的值,实现了对图像色彩的矫正,消除了图像或视频帧因为有色光源等造成的颜色严重偏差、图像中人或物体颜色失真的问题,使得能够恢复有色光源下图像的原始色彩,提高了图像的视觉效果,提高了用户体验。

实施例四

本发明实施例提供了一种电子设备,参照图4所示,设备4包括:

cielab色彩空间转换模块41,用于将目标图像的色彩空间转为cielab色彩空间;

矫正模块42,用于矫正目标图像在cielab色彩空间下的l分量、a分量及b分量的值,获取矫正后的目标图像;以及

yuv或rgb色彩空间转换模块43,用于将矫正后的目标图像的色彩空间转为yuv或rgb色彩空间。

可选的,设备4还包括:

预处理模块44,用于对目标图像进行预处理。

可选的,预处理模块44包括:

原始亮度分量值预处理模块441,用于对目标图像的每个像素点的原始亮度分量值进行预处理。

可选的,原始亮度分量值预处理模块441包括:

原始亮度分量值获取模块4411,用于获取目标图像的每个像素点的原始亮度分量值;

亮度分量值取反模块4412,用于对每个像素点的原始亮度分量值取反,获取每个像素点的取反亮度分量值;

取反亮度分量值滤波模块4413,用于对每个像素点的取反亮度分量值进行滤波,获取滤波后的每个像素点的取反亮度分量值;

亮度分量值重新计算模块4414,用于根据每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值。

可选的,亮度分量值取反模块4412具体用于:

用原始亮度分量值的取值范围的最大取值减去每个像素点的原始亮度分量值。

可选的,亮度分量值重新计算模块4414包括:

归一化处理子模块44141,用于对每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值进行归一化处理;

亮度分量值重新计算子模块44142,用于根据归一化后的每个像素点的亮度分量值及归一化后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值;

反归一化处理子模块44143,用于对重新计算的每个像素点的亮度分量值进行反归一化处理;

亮度分量值调节子模块44144,用于采用反归一化处理后的每个像素点的亮度分量值调节目标图像的亮度。

可选的,矫正模块42包括:

统计l分量均值模块421,用于统计目标图像在cielab色彩空间下的l分量的均值;

l分量矫正值获取模块422,用于根据均值,获取目标图像的l分量的矫正值。

可选的,l分量矫正值获取模块422包括:

映射函数生成子模块4221,用于根据均值,生成映射函数;

l分量矫正值获取子模块4222,获取l分量在映射函数中的映射值为目标图像的l分量的矫正值。

可选的,矫正模块42还包括:

a分量均值计算模块423,用于根据a分量的高阈值及低阈值,计算大于a分量的高阈值的a分量的均值,和计算小于a分量的低阈值的a分量的均值;

b分量均值计算模块424,用于根据b分量的高阈值及低阈值,计算大于b分量的高阈值的b分量的均值,和计算小于b分量的低阈值的b分量的均值;

a分量的矫正值计算模块425,用于根据l分量的矫正值,大于a分量的高阈值的均值,及小于a分量的低阈值的均值,计算a分量的矫正值;以及

b分量的矫正值计算模块426,用于根据l分量的矫正值,大于b分量的高阈值的均值,及小于b分量的低阈值的均值,计算b分量的矫正值。

可选的,矫正模块42还包括:

高阈值和低阈值计算模块427,用于分别计算a分量和b分量的高阈值和低阈值。

可选的,高阈值和低阈值计算模块427包括:

最大值和最小值统计子模块4271,用于统计目标图像在cielab色彩空间下的a分量和b分量的最大值和最小值;

高阈值和低阈值计算子模块4272,用于根据a分量和b分量的最大值和最小值,分别计算a分量和b分量的高阈值和低阈值。

本发明实施例提供了一种电子设备,电子设备通过将目标的色彩空间转为cielab色彩空间,因为在cielab色彩空间中,l、a及b分量是分离的,l表示亮度,a表示从洋红色至绿色的范围,a表示从黄色至蓝色的范围,从而能够对l、a及b分量分别进行矫正,相较于在yuv色彩空间中,y表示亮度,u和v表示色度、用于描述影像色彩及饱和度,对图像的色彩进行矫正,是对亮度进行矫正,或同时对色彩及饱和度进行矫正,使得矫正后的图像会出现严重色彩偏差,影响图像视觉效果,从而本发明实施例提供的方法提高了对图像进行色彩矫正的效果,有利于恢复图像的原始色彩;而在rgb色彩空间中,虽然r、g、b分别表示颜色通道红、绿、蓝,使得能够对三个颜色通道分别进行矫正,但是现有的矫正算法比如带色彩恢复的多尺度视网膜增强算法,算法复杂度较高,难以实现对视频帧进行实时处理,而本发明实施例提供的方法,对l、a及b三个分量矫正的算法较为简单,使得避免了对设备处理资源的大量占用,使得设备在处理即时视频时能同时对视频帧进行处理,提高了处理效果,提高了用户体验;另外,本发明通过矫正目标图像在cielab色彩空间下的l分量、a分 量及b分量的值,实现了对图像色彩的矫正,消除了图像或视频帧因为有色光源等造成的颜色严重偏差、图像中人或物体颜色失真的问题,使得能够恢复有色光源下图像的原始色彩,提高了图像的视觉效果,提高了用户体验。

实施例五

本发明实施例提供了一种电子设备,参照图5所示,电子设备5包括存储器51以及与存储器51连接的处理器52,其中,存储器51用于存储一组程序代码,处理器52调用存储器51所存储的程序代码用于执行以下操作:

将目标图像的色彩空间转为cielab色彩空间;

矫正目标图像在cielab色彩空间下的l分量、a分量及b分量的值,获取矫正后的目标图像;以及

将矫正后的目标图像的色彩空间转为yuv或rgb色彩空间。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

对目标图像进行预处理。

结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,

对目标图像的每个像素点的原始亮度分量值进行预处理。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

获取目标图像的每个像素点的原始亮度分量值;

对每个像素点的原始亮度分量值取反,获取每个像素点的取反亮度分量值;

对每个像素点的取反亮度分量值进行滤波,获取滤波后的每个像素点的取反亮度分量值;

根据每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

用原始亮度分量值的取值范围的最大取值减去每个像素点的原始亮度分量值。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

对每个像素点的原始亮度分量值、滤波后的每个像素点的取反亮度分量值进行归一化处理;

根据归一化后的每个像素点的亮度分量值及归一化后的每个像素点的取反亮度分量值,重新计算每个像素点的亮度分量值;

对重新计算的每个像素点的亮度分量值进行反归一化处理;

采用反归一化处理后的每个像素点的亮度分量值调节目标图像的亮度。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

统计目标图像在cielab色彩空间下的l分量的均值;

根据均值,获取目标图像的l分量的矫正值。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

根据均值,生成映射函数;

获取l分量在映射函数中的映射值为目标图像的l分量的矫正值。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

根据a分量的高阈值及低阈值,计算大于a分量的高阈值的a分量的均值,和计算小于a分量的低阈值的a分量的均值;

根据b分量的高阈值及低阈值,计算大于b分量的高阈值的b分量的均值,和计算小于b分量的低阈值的b分量的均值;

根据l分量的矫正值,大于a分量的高阈值的均值,及小于a分量的低阈值的均值,计算a分量的矫正值;以及

根据l分量的矫正值,大于b分量的高阈值的均值,及小于b分量的低阈值的均值,计算b分量的矫正值。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

分别计算a分量和b分量的高阈值和低阈值。

可选的,处理器52调用存储器51所存储的程序代码用于执行以下操作:

统计目标图像在cielab色彩空间下的a分量和b分量的最大值和最小值;

根据a分量和b分量的最大值和最小值,分别计算a分量和b分量的高阈 值和低阈值。

本发明实施例提供了一种电子设备,电子设备通过将目标的色彩空间转为cielab色彩空间,因为在cielab色彩空间中,l、a及b分量是分离的,l表示亮度,a表示从洋红色至绿色的范围,a表示从黄色至蓝色的范围,从而能够对l、a及b分量分别进行矫正,相较于在yuv色彩空间中,y表示亮度,u和v表示色度、用于描述影像色彩及饱和度,对图像的色彩进行矫正,是对亮度进行矫正,或同时对色彩及饱和度进行矫正,使得矫正后的图像会出现严重色彩偏差,影响图像视觉效果,从而本发明实施例提供的方法提高了对图像进行色彩矫正的效果,有利于恢复图像的原始色彩;而在rgb色彩空间中,虽然r、g、b分别表示颜色通道红、绿、蓝,使得能够对三个颜色通道分别进行矫正,但是现有的矫正算法比如带色彩恢复的多尺度视网膜增强算法,算法复杂度较高,难以实现对视频帧进行实时处理,而本发明实施例提供的方法,对l、a及b三个分量矫正的算法较为简单,使得避免了对设备处理资源的大量占用,使得设备在处理即时视频时能同时对视频帧进行处理,提高了处理效果,提高了用户体验;另外,本发明通过矫正目标图像在cielab色彩空间下的l分量、a分量及b分量的值,实现了对图像色彩的矫正,消除了图像或视频帧因为有色光源等造成的颜色严重偏差、图像中人或物体颜色失真的问题,使得能够恢复有色光源下图像的原始色彩,提高了图像的视觉效果,提高了用户体验。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的电子设备在执行图像色彩矫正方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的电子设备与图像色彩矫正方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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