首页> 中国专利> 一种基于参照图像的主要颜色的图像增强方法

一种基于参照图像的主要颜色的图像增强方法

摘要

本发明公开了一种基于参照图像的主要颜色的图像增强方法,其通过对参照图像以及待处理的原始图像分别进行主要颜色的提取,并根据原始图像和参照图像的主要颜色对原始图像进行图像增强的处理,从而使增强处理后的图像的颜色效果与参照图像相近,从而实现滤镜的多样化以及自定义化,并且操作更快捷方便。

著录项

  • 公开/公告号CN103793888A

    专利类型发明专利

  • 公开/公告日2014-05-14

    原文格式PDF

  • 申请/专利权人 厦门美图网科技有限公司;

    申请/专利号CN201410054912.7

  • 发明设计人 张伟;傅松林;李志阳;胡瑞鑫;

    申请日2014-02-18

  • 分类号G06T5/00;G06T7/00;

  • 代理机构

  • 代理人

  • 地址 361008 福建省厦门市软件园二期望海路2号C栋4层

  • 入库时间 2024-02-20 00:11:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-11

    授权

    授权

  • 2014-06-11

    实质审查的生效 IPC(主分类):G06T5/00 申请日:20140218

    实质审查的生效

  • 2014-05-14

    公开

    公开

说明书

技术领域

本发明涉及一种图像增强方法,特别是一种基于参照图像的主要颜色的 图像增强方法。

背景技术

对图像进行美化已经成为我们拍摄照片后一个必不可少的步骤,现有技 术中主要是提供一些已经预设好的滤镜给用户进行选择,但是这些需要程序 预设存在滤镜才能使用户进行使用,因此存在很大的局限性。

发明内容

本发明为解决上述问题,提供了一种基于参照图像的主要颜色的图像增 强方法,从而实现图像增强处理的多样化以及自定义化。

为实现上述目的,本发明采用的技术方案为:

一种基于参照图像的主要颜色的图像增强方法,其特征在于,包括以下 步骤:

10.加载参照图像以及待处理的原始图像;

20.对原始图像和参照图像分别进行主要颜色的提取;

30.根据原始图像和参照图像的主要颜色对原始图像进行图像增强的处 理

作为优选的实施例,所述的步骤20进一步包括:

21.对原始图像或参照图像进行模糊处理,得到模糊图像;

22.对模糊图像进行所有像素点的直方图统计,以及计算红、绿、蓝三个 通道的颜色最大值与颜色最小值,并最终得到父级颜色框;

23.根据所述的父级颜色框创建初始队列,并对初始队列进行颜色拓展分 割得到分割队列;

24.对所述的分割队列进行排序得到排序队列,并对排序队列进行颜色拓 展分割得到最终队列;

25.对所述的最终队列进行颜色提取,得到原始图像或参照图像的主要颜 色。

作为优选的实施例,所述步骤21中的模糊处理为中值模糊处理或高斯模 糊处理或均值模糊处理或卷积处理。

作为优选的实施例,所述的步骤22进一步包括:

221.创建一个大小为32*32*32的数组,并全部初始化为0;

222.对所述的模糊图像的每个像素点进行遍历,取得红、绿、蓝三个通 道的颜色最大值与颜色最小值,并且在遍历过程中对像素点出现的次数进行 直方图统计到数组中;

223.根据直方图统计到的数组以及红、绿、蓝三个通道的颜色最大值与 颜色最小值,进行父级颜色框的创建,并得到该父级颜色框的颜色个数、容 积和颜色均值。

作为优选的实施例,所述步骤223中的父级颜色框的颜色个数、容积和 颜色均值的计算方法分别为:

颜色个数为直方图统计的数组在颜色范围里出现的颜色个数;

容积为(rMax-rMin+1)*(gMax-gMin+1)*(bMax-bMin+1);

颜色均值为颜色范围里出现的颜色和除以颜色个数;

其中,

rMax,gMax,bMax分别为红、绿、蓝三个通道的颜色最大值;

rMin,gMin,bMin分别为红、绿、蓝三个通道的颜色最小值;

父级颜色框的颜色范围为红色通道范围在rMin到rMax之间,绿色通道 范围在gMin到gMax之间,蓝色通道范围在bMin到bMax之间;

颜色和为颜色范围内每个索引出现的颜色值乘以该颜色值出现的个数, 累加得到颜色和。

作为优选的实施例,所述步骤23中根据所述的父级颜色框创建初始队 列,主要是根据创建的父级颜色框得到该父级颜色框的颜色个数,并通过对 颜色个数从大到小的排序创建初始队列。

作为优选的实施例,所述步骤23中对初始队列进行颜色拓展分割得到分 割队列,主要是通过设置待提取的主要颜色的数量,然后利用中位分割法对 初始队列进行分割,最终得到分割队列。

作为优选的实施例,所述的步骤24中对所述的分割队列进行排序得到排 序队列,主要是根据创建的父级颜色框得到该父级颜色框的容积,并通过对 容积进行从大到小的排序创建排序队列。

作为优选的实施例,所述的步骤24中对排序队列进行颜色拓展分割得到 最终队列,主要是通过设置待提取的主要颜色的数量,然后利用中位分割法 对排序队列进行分割得到最终队列。

作为优选的实施例,所述步骤25中对所述的最终队列进行颜色提取得到 原始图像或参照图像的主要颜色,主要是按照最终队列的顺序得到原始图像 或参照图像的主要颜色。

作为优选的实施例,所述的步骤30进一步包括:

31.将参照图像及参照图像的主要颜色、原始图像及原始图像的主要颜色 进行色彩空间转换,从RGB色彩空间转为Lab色彩空间,并分别得到各自的 转换图像;

32.计算所述转换图像的映射数组,然后将映射数组分别与参照图像、原 始图像进行计算得到各自的Lab色彩空间的颜色值,从而得到结果图像;

33.对结果图像进行色彩空间转换,从Lab色彩空间转为RGB色彩空间, 最终得到增强处理后的图像。

作为优选的实施例,所述的步骤31中从RGB色彩空间转为Lab色彩空间 的计算方法如下:

f(X)=(0.431*R+0.342*G+0.178*B)/255.0;

f(Y)=(0.222*R+0.707*G+0.071*B)/255.0;

f(Z)=(0.020*R+0.130*G+0.939*B)/255.0;

t(x)=f(X)/0.951,t(y)=f(Y),t(z)=f(Z)/1.089;

如果(t(y)>0.008856),

f(t(y))=pow(t(y),0.33333);

f(Light)=116.0*f(t(y))-16.0;

否则,

f(t(y))=7.78*t(y)+16.0/116.0;

f(Light)=903.3*t(y);

如果(t(x)>0.008856),

f(t(x))=pow(t(x),0.33333);

否则,

f(t(x))=7.78*t(x)+16.0/116.0;

如果(t(z)>0.008856),

f(t(z))=pow(t(z),0.33333);

否则,

f(t(z))=7.78*t(z)+16.0/116.0;

最后,

L=f(Light)*2.5599;

a=(128.0+(f(t(x))-f(t(y)))*635.0));

b=(128.0+(f(t(y))-f(t(z)))*254.0));

其中,L、a、b为Lab色彩空间中对应像素点的颜色值;R、G、B为RGB 色彩空间中对应像素点的颜色值。

作为优选的实施例,所述的步骤32进一步包括:

321.计算所述转换图像的映射数组,主要是判断原始图像的主要颜色的 a、b通道颜色值,如果原始图像的a通道颜色值大于0,则其关于a通道的 映射数组的值取参照图像的主要颜色的a通道颜色值,否则取原始图像的主 要颜色的a通道颜色值,如果原始图像的b通道颜色值大于0,则其关于b 通道的映射数组的值取参照图像的主要颜色的b通道颜色值,否则取原始图 像的主要颜色的b通道颜色值,以此计算得到映射数组里所有索引的初始值;

322.计算原始图像的对应像素点的对应索引的权重和对应索引的颜色 值;

323.将对应索引的权重乘以对应索引的颜色值,并且将他们累加得到颜 色和,即得到对应像素点的最终颜色值;以此类推,计算原始图像所有像素 点的最终颜色值,从而得到结果图像。

作为优选的实施例,所述的步骤33从Lab色彩空间转为RGB色彩空间的 计算方法如下:

f(L)=L′/2.550;f(A)=(a′-128.0)/1.27;f(B)=(b′-128.0)/1.27;

f(P)=(f(L)+16.0)/116.0;

f(Y(yn))=f(P)*f(P)*f(P);

如果(f(Y(yn))>0.008856),

f(Y)=f(LabYn)*f(Y(yn));

f(Ha)=(f(P)+f(A)/500.0);

f(X)=f(LabXn)*f(Ha)*f(Ha)*f(Ha);

f(Hb)=(f(P)-f(B)/200.0);

f(Z)=f(LabZn)*f(Hb)*f(Hb)*f(Hb);

否则,

f(Y)=f(LabYn)*f(L)/903.3;

f(Sqyyn)=pow(f(L)/903.3,f(PowFactor);

f(Ha)=f(A)/500.0/7.787+f(Sqyyn);

f(X)=f(LabXn)*f(Ha)*f(Ha)*f(Ha);

f(Hb)=f(Sqyyn)-f(B)/200./7.787;

f(Z)=f(LabZn)*f(Hb)*f(Hb)*f(Hb);

最后,

R′=(3.063*f(X)-1.393*f(Y)-0.476*f(Z))*255;

G′=(-0.969*f(X)+1.876*f(Y)+0.042*f(Z))*255;

B′=(0.068*f(X)-0.229*f(Y)+1.069*f(Z))*255;

其中,R′、G′、B′为图像增强后的RGB色彩空间中对应像素点的颜色值; L′、a′、b′为图像增强后的Lab色彩空间中对应像素点的颜色值。

本发明的有益效果是:

本发明的一种基于参照图像的主要颜色的图像增强方法,其通过对参照 图像以及待处理的原始图像分别进行主要颜色的提取,并根据原始图像和参 照图像的主要颜色对原始图像进行图像增强的处理,从而使增强处理后的图 像的颜色效果与参照图像相近,从而实现滤镜的多样化以及自定义化,并且 操作更快捷方便。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部 分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的 不当限定。在附图中:

图1为本发明一种基于参照图像的主要颜色的图像增强方法的流程简图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明 白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处 所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明的一种基于参照图像的主要颜色的图像增强方法, 其包括以下步骤:

10.加载参照图像以及待处理的原始图像;

20.对原始图像和参照图像分别进行主要颜色的提取;

30.根据原始图像和参照图像的主要颜色对原始图像进行图像增强的处 理。

本实施例中,所述的步骤20进一步包括:

21.对原始图像或参照图像进行模糊处理,得到模糊图像;

22.对模糊图像进行所有像素点的直方图统计,以及计算红、绿、蓝三个 通道的颜色最大值与颜色最小值,并最终得到父级颜色框;

23.根据所述的父级颜色框创建初始队列,并对初始队列进行颜色拓展分 割得到分割队列;

24.对所述的分割队列进行排序得到排序队列,并对排序队列进行颜色拓 展分割得到最终队列;

25.对所述的最终队列进行颜色提取,得到原始图像或参照图像的主要颜 色。

所述步骤21中的模糊处理主要是为了消除图像中存在的一些噪点,使主 要颜色的提取质量更好,其可以采用中值模糊处理或高斯模糊处理或均值模 糊处理或卷积处理;具体介绍如下:

中值模糊处理,即中值滤波处理,主要是对要处理的像素点周围的N*N模 板像素点的颜色值进行从大到小或者从小到大的排序,得到排序后最中间的 那个颜色值,即中位数,然后将该像素点的颜色值设置为其中位数的颜色值; 其中,N为模糊的半径。

高斯模糊处理,主要是采用正态分布计算图像中每个像素的变换,其中, 在N维空间的正态分布方程为:

G(r)=12πσ2Ne-r2/(2σ2);

在二维空间的正态分布方程为:

G(u,v)=12πσ2e-(u2+v2)/(2σ2);

其中r是模糊半径(r2=u2+v2),σ是正态分布的标准偏差,u是原 像素点在x轴上的位置偏移值,v是原像素点在y轴上的位置偏移值。

均值模糊处理是典型的线性滤波算法,它是指在图像上对目标像素给一个 模板,该模板包括了其周围的临近像素;该临近像素是指以目标象素为中心 的周围8个象素,构成一个滤波模板,即去掉目标象素本身;再用模板中的全 体像素的平均值来代替原来像素值。

卷积处理:卷积是对矩阵中的每一个元素进行的操作,卷积所实现的功 能是由其卷积核的形式决定的,卷积核是一个大小固定、有数值参数构成的 矩阵,矩阵的中心为参考点或锚点,矩阵的大小称为核支撑;要计算一个像 素点的卷积后的颜色值,首先将核的参考点定位到该像素点,核的其余元素 覆盖矩阵中相对应的局部周围点;对于每一个核中的的像素点,得到这个像 素点的值与卷积核数组中特定点的值的乘积并求所有这些乘积的累加和,再 用累加和除以卷积核数组里的总和得到的值,即该特定点的卷积值,用这个 结果替代该像素点的颜色值;通过在整个图像上移动像素点,对图像的每个 像素点重复此操作。

本实施例中,所述的步骤22进一步包括:

221.创建一个大小为32*32*32的数组nHistogram,并全部初始化为0; 这边大小固定为32,主要是因为颜色有256种颜色,而将其分为32组,即 每组有8个颜色,每组的颜色范围从(n-1)*8到(n*8-1),n表示组的编号,例 如第3组的范围从16到22;

222.对所述的模糊图像的每个像素点进行遍历,取得红、绿、蓝三个通 道的颜色最大值(rMax,gMax,bMax)与颜色最小值(rMin,gMin,bMin),并且 在遍历过程中对像素点出现的次数进行直方图统计到数组nHistogram中;

例如:nHistogram[r][g][b]=nHistogram[r][g][b]+1,其中 nHistogram为直方图统计的数组,r、g、b表示遍历的像素点的红、绿、蓝 通道的颜色值

223.根据直方图统计到的数组nHistogram以及红、绿、蓝三个通道的颜 色最大值与颜色最小值,进行父级颜色框的创建,并得到该父级颜色框的颜 色个数、容积和颜色均值。

所述步骤223中的父级颜色框的颜色个数、容积和颜色均值的计算方法 分别为:

颜色个数为直方图统计的数组nHistogram在颜色范围里出现的颜色个 数;

容积为(rMax-rMin+1)*(gMax-gMin+1)*(bMax-bMin+1);

颜色均值为颜色范围里出现的颜色和除以颜色个数;

其中,

rMax,gMax,bMax分别为红、绿、蓝三个通道的颜色最大值;

rMin,gMin,bMin分别为红、绿、蓝三个通道的颜色最小值;

父级颜色框的颜色范围为红色通道范围在rMin到rMax之间,绿色通道 范围在gMin到gMax之间,蓝色通道范围在bMin到bMax之间;

颜色和为颜色范围内每个索引出现的颜色值乘以该颜色值出现的个数, 累加得到颜色和。

本实施例中,所述步骤23中根据所述的父级颜色框创建初始队列,主要 是根据创建的父级颜色框得到该父级颜色框的颜色个数,并通过对颜色个数 从大到小的排序创建初始队列;所述步骤23中对初始队列进行颜色拓展分割 得到分割队列,主要是通过设置待提取的主要颜色的数量,本实例设为21 个,然后利用中位分割法对初始队列进行分割,最终得到分割队列;所述的 步骤24中对所述的分割队列进行排序得到排序队列,主要是根据创建的父级 颜色框得到该父级颜色框的容积,并通过对容积进行从大到小的排序创建排 序队列;所述的步骤24中对排序队列进行颜色拓展分割得到最终队列,主要 是通过设置待提取的主要颜色的数量,然后利用中位分割法对排序队列进行 分割得到最终队列;所述步骤25中对所述的最终队列进行颜色提取得到原始 图像或参照图像的主要颜色,由于分割队列已经排序好,这里主要是直接按 照最终队列的顺序得到原始图像或参照图像的主要颜色,通过以上方法提取 的原始图像或参照图像的主要颜色的质量更好,并为后续的图像智能处理做 基础准备。

本实施例中,所述的步骤30进一步包括:

31.将参照图像及参照图像的主要颜色、原始图像及原始图像的主要颜色 进行色彩空间转换,从RGB色彩空间转为Lab色彩空间,并分别得到各自的 转换图像;

32.计算所述转换图像的映射数组,然后将映射数组分别与参照图像、原 始图像进行计算得到各自的Lab色彩空间的颜色值,从而得到结果图像;

33.对结果图像进行色彩空间转换,从Lab色彩空间转为RGB色彩空间, 最终得到增强处理后的图像。

所述的步骤31中从RGB色彩空间转为Lab色彩空间的计算方法如下:

f(X)=(0.431*R+0.342*G+0.178*B)/255.0;

f(Y)=(0.222*R+0.707*G+0.071*B)/255.0;

f(Z)=(0.020*R+0.130*G+0.939*B)/255.0;

t(x)=f(X)/0.951,t(y)=f(Y),t(z)=f(Z)/1.089;

如果(t(y)>0.008856),

f(t(y))=pow(t(y),0.33333);

f(Light)=116.0*f(t(y))-16.0;

否则,

f(t(y))=7.78*t(y)+16.0/116.0;

f(Light)=903.3*t(y);

如果(t(x)>0.008856),

f(t(x))=pow(t(x),0.33333);

否则,

f(t(x))=7.78*t(x)+16.0/116.0;

如果(t(z)>0.008856),

f(t(z))=pow(t(z),0.33333);

否则,

f(t(z))=7.78*t(z)+16.0/116.0;

最后,

L=f(Light)*2.5599;

a=(128.0+(f(t(x))-f(t(y)))*635.0));

b=(128.0+(f(t(y))-f(t(z)))*254.0));

其中,L、a、b为Lab色彩空间中对应像素点的颜色值;R、G、B为RGB 色彩空间中对应像素点的颜色值。

所述的步骤32进一步包括:

321.计算所述转换图像的映射数组,主要是判断原始图像的主要颜色的 a、b通道颜色值,如果原始图像的a通道颜色值大于0,则其关于a通道的 映射数组的值取参照图像的主要颜色的a通道颜色值,否则取原始图像的主 要颜色的a通道颜色值,如果原始图像的b通道颜色值大于0,则其关于b 通道的映射数组的值取参照图像的主要颜色的b通道颜色值,否则取原始图 像的主要颜色的b通道颜色值,以此计算得到映射数组里所有索引的初始值;

322.计算原始图像的对应像素点的对应索引的权重和对应索引的颜色 值;

323.将对应索引的权重乘以对应索引的颜色值,并且将他们累加得到颜 色和,即得到对应像素点的最终颜色值;以此类推,计算原始图像所有像素 点的最终颜色值,从而得到结果图像。

所述的步骤33从Lab色彩空间转为RGB色彩空间的计算方法如下:

f(L)=L′/2.550;f(A)=(a′-128.0)/1.27;f(B)=(b′-128.0)/1.27;

f(P)=(f(L)+16.0)/116.0;

f(Y(yn))=f(P)*f(P)*f(P);

如果(f(Y(yn))>0.008856),

f(Y)=f(LabYn)*f(Y(yn));

f(Ha)=(f(P)+f(A)/500.0);

f(X)=f(LabXn)*f(Ha)*f(Ha)*f(Ha);

f(Hb)=(f(P)-f(B)/200.0);

f(Z)=f(LabZn)*f(Hb)*f(Hb)*f(Hb);

否则,

f(Y)=f(LabYn)*f(L)/903.3;

f(Sqyyn)=pow(f(L)/903.3,f(PowFactor);

f(Ha)=f(A)/500.0/7.787+f(Sqyyn);

f(X)=f(LabXn)*f(Ha)*f(Ha)*f(Ha);

f(Hb)=f(Sqyyn)-f(B)/200./7.787;

f(Z)=f(LabZn)*f(Hb)*f(Hb)*f(Hb);

最后,

R′=(3.063*f(X)-1.393*f(Y)-0.476*f(Z))*255;

G′=(-0.969*f(X)+1.876*f(Y)+0.042*f(Z))*255;

B′=(0.068*f(X)-0.229*f(Y)+1.069*f(Z))*255;

其中,R′、G′、B′为图像增强后的RGB色彩空间中对应像素点的颜色值; L′、a′、b′为图像增强后的Lab色彩空间中对应像素点的颜色值。

上述说明示出并描述了本发明的优选实施例,如前,应当理解本发明并 非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各 种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或 相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离 本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号