首页 / 专利库 / 电脑编程 / 算法 / 图像颜色迁移方法、装置、计算机设备和存储介质

图像颜色迁移方法、装置、计算机设备和存储介质

阅读:308发布:2024-02-06

专利汇可以提供图像颜色迁移方法、装置、计算机设备和存储介质专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种图像 颜色 迁移方法、装置、计算机设备和存储介质。所述方法包括:提取待转换图像的主颜色的颜色值;根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量;根据迁移向量,将目标颜色迁移到待转换图像。本方法能够在无需参考图片的情况下实现颜色迁移。,下面是图像颜色迁移方法、装置、计算机设备和存储介质专利的具体信息内容。

1.一种图像颜色迁移方法,所述方法包括:
提取待转换图像的主颜色的颜色值;
根据所述待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到所述待转换图像时采用的迁移向量;
根据所述迁移向量,将所述目标颜色迁移到所述待转换图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到所述待转换图像时采用的迁移向量,包括:
获取所述待转换图像的主颜色的颜色值在目标颜色空间中对应的第一三维颜色向量;
获取所述目标颜色的颜色值在所述目标颜色空间中对应的第二三维颜色向量;
根据所述第一三维颜色向量和所述第二三维颜色向量确定出所述迁移向量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一三维颜色向量和所述第二三维颜色向量确定出所述迁移向量,包括:
获取将所述第一三维颜色向量平移到所述第二三维颜色时采用的平移变换向量,将所述平移变换向量作为所述迁移向量。
4.根据权利要求2所述的方法,其特征在于,所述根据所述迁移向量,将所述目标颜色迁移到所述待转换图像,包括:
提取所述待转换图像的像素的颜色值;
根据所述迁移向量,将所述待转换图像的像素的颜色值进行迁移,将迁移后的所述待转换图像作为目标图像;
所述目标图像为将所述目标颜色迁移到所述待转换图像后的图像。
5.根据权利要求4所述的方法,其特征在于,所述根据所述迁移向量,将所述待转换图像的像素的颜色值进行迁移,包括:
根据所述迁移向量,将所述待转换图像的像素的颜色值分别按照所述目标颜色空间中的亮度维度、饱和度维度和色相维度进行迁移。
6.根据权利要求5所述的方法,其特征在于,所述根据所述迁移向量,将所述待转换图像的像素的颜色值分别按照亮度维度、饱和度维度和色相维度进行迁移,包括:
根据第一归一化函数,将所述待转换图像的像素的颜色值中所述亮度维度对应的亮度数据进行归一化处理,得到第一数值;
根据所述迁移向量以及所述第一数值,将所述待转换图像的像素的颜色值按照亮度维度进行迁移;
根据第二归一化函数,将所述待转换图像的像素的颜色值中所述饱和度维度对应的饱和度数据进行归一化处理,得到第二数值;
根据所述迁移向量以及所述第二数值,将所述待转换图像的像素的颜色值按照饱和度维度进行迁移;
获取所述迁移向量和所述待转换图像的像素的颜色值的和值,将所述和值对2π取余,根据取余结果将所述待转换图像的像素的颜色值按照色相维度进行迁移;π为圆周率。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
使用颜色量化算法对所述待转换图像进行采样处理,得到量化后的多个颜色;
将所述多个颜色中出现概率最大的颜色作为所述待转换图像的主颜色。
8.一种图像颜色迁移装置,其特征在于,所述装置包括:
提取模,用于提取待转换图像的主颜色的颜色值;
确定模块,用于根据所述待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到所述待转换图像时采用的迁移向量;
迁移模块,用于根据所述迁移向量,将所述目标颜色迁移到所述待转换图像。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

说明书全文

图像颜色迁移方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及图像处理技术领域,特别是涉及一种图像颜色迁移方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着电子商务的快速发展,电商平台经常会推出各种商品促销活动,而这也加大了对平面设计广告的需求量。对于某些类型的平面设计,可能需要根据不同氛围以及场景将广告图的颜色转换为合适的主色,以给用户更好的视觉体验。
[0003] 颜色迁移技术能够将图像颜色转换为其他颜色。目前,定向颜色迁移方法是实现颜色迁移功能的主要方法,而该方法需要一张参考图像,这就无法适应很多应用场景。比如大多平面设计的应用场景为:只给定一个目标色的十六进制颜色码,然后需要通过颜色迁移后的图片在视觉效果上尽可能接近这个颜色。因此,无法采用定向颜色迁移方法实现图像的颜色迁移。发明内容
[0004] 基于此,有必要针对上述技术问题,提供一种能够在无需参考图片的情况下实现颜色迁移的图像颜色迁移方法、装置、计算机设备和存储介质。
[0005] 一种图像颜色迁移方法,该方法包括:
[0006] 提取待转换图像的主颜色的颜色值;
[0007] 根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量;
[0008] 根据迁移向量,将目标颜色迁移到待转换图像。
[0009] 在其中一个实施例中,根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量,包括:
[0010] 获取待转换图像的主颜色的颜色值在目标颜色空间中对应的第一三维颜色向量;
[0011] 获取目标颜色的颜色值在目标颜色空间中对应的第二三维颜色向量;
[0012] 根据第一三维颜色向量和第二三维颜色向量确定出迁移向量。
[0013] 在其中一个实施例中,根据第一三维颜色向量和第二三维颜色向量确定出迁移向量,包括:
[0014] 获取将第一三维颜色向量平移到第二三维颜色时采用的平移变换向量,将平移变换向量作为迁移向量。
[0015] 在其中一个实施例中,根据迁移向量,将目标颜色迁移到待转换图像,包括:
[0016] 提取待转换图像的像素的颜色值;
[0017] 根据迁移向量,将待转换图像的像素的颜色值进行迁移,将迁移后的待转换图像作为目标图像;
[0018] 目标图像为将目标颜色迁移到待转换图像后的图像。
[0019] 在其中一个实施例中,根据迁移向量,将待转换图像的像素的颜色值进行迁移,包括:
[0020] 根据迁移向量,将待转换图像的像素的颜色值分别按照所述目标颜色空间中的亮度维度、饱和度维度和色相维度进行迁移。
[0021] 在其中一个实施例中,根据所述迁移向量,将待转换图像的像素的颜色值分别按照亮度维度、饱和度维度和色相维度进行迁移,包括:
[0022] 根据第一归一化函数,将待转换图像的像素的颜色值中亮度维度对应的亮度数据进行归一化处理,得到第一数值;
[0023] 根据迁移向量以及第一数值,将待转换图像的像素的颜色值按照亮度维度进行迁移;
[0024] 根据第二归一化函数,将待转换图像的像素的颜色值中饱和度维度对应的饱和度数据进行归一化处理,得到第二数值;
[0025] 根据迁移向量以及第二数值,将待转换图像的像素的颜色值按照饱和度维度进行迁移;
[0026] 获取所述迁移向量和所述待转换图像的像素的颜色值的和值,将所述和值对2π取余,根据取余结果将所述待转换图像的像素的颜色值按照色相维度进行迁移;π为圆周率。
[0027] 在其中一个实施例中,该图像颜色迁移方法还包括:
[0028] 使用颜色量化算法对待转换图像进行采样处理,得到量化后的多个颜色;
[0029] 将多个颜色中出现概率最大的颜色作为待转换图像的主颜色。
[0030] 一种图像颜色迁移装置,该装置包括:
[0031] 提取模,用于提取待转换图像的主颜色的颜色值;
[0032] 确定模块,用于根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量;
[0033] 迁移模块,用于根据迁移向量,将目标颜色迁移到待转换图像。
[0034] 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。
[0035] 一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的方法的步骤。
[0036] 上述图像颜色迁移方法、装置、计算机设备和存储介质,当确定出迁移到待转换图像中的目标颜色的颜色值时,提取待转换图像的主颜色的颜色值,通过待转换图像的主颜色的颜色值以及目标颜色的颜色值,确定出进行颜色迁移的迁移向量,最终可根据迁移向量将目标颜色迁移到待转换图像。因此,无需目标参考图,即可实现待转换图像的颜色迁移,打破传统颜色迁移技术需要参考图片的局限,使得颜色迁移技术满足更多的应用场景。附图说明
[0037] 图1为一个实施例中一种图像颜色迁移方法的应用环境图;
[0038] 图2为一个实施例中一种图像颜色迁移方法的流程示意图;
[0039] 图3为一个实施例中S200步骤的流程示意图;
[0040] 图4为一个实施例中一种图像颜色迁移方法的采用两组不同的归一化函数进行颜色迁移时的界面图像显示图;
[0041] 图5为另一个实施例一种图像颜色迁移方法的界面图像显示图;
[0042] 图6为一个实施例中一种图像颜色迁移装置的结构框图
[0043] 图7为一个实施例中计算机设备的内部结构图。

具体实施方式

[0044] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0045] 本申请提供一种图像颜色迁移方法,可以应用于如图1所示的应用环境中。其中,服务器10与存储设备20通过网络进行通信。存储设备20 中存储有多张图像。每张图像上设置有颜色和图像,还可以有对应的文字和数字等。服务器10用于从存储设备20中读取图像,并对图像进行颜色迁移处理,以得到符合需求的图像。具体地,服务器10中存储有多种颜色的色值。服务器10通过接收到的颜色迁移指令,从存储设备20中读取出待转换图像以及从内部存储中确定出对应的目标颜色的颜色值。进一步地,采用本申请提供图像颜色迁移方法,根据目标颜色的颜色值实现将目标颜色迁移到待转换图像中,从而使得满足颜色迁移指令的目标图像。此外,服务器10通过网络与终端设备群40进行通信。一般地,服务器10通过端网络30与终端设备群40进行通信,将颜色迁移后得到的目标图像下发到终端设备群40的各个终端。终端设备群40的各个终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和台式计算机等,服务器10可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0046] 在一个实施例中,如图2所示,提供了一种图像颜色迁移方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
[0047] S100,提取待转换图像的主颜色的颜色值。
[0048] 在本实施例中,后台存储设备中存储有多张用于进行颜色迁移的图像。服务器根据接收到的颜色迁移指令,从后台存储设备中获取待转换图像。待转换图像的图像格式为JPG、JPEG、TIFF、PNG、RAW或者BMP等。此外,服务器还根据接收到的颜色迁移指令,确定出用于迁移到待转换图像上的目标颜色。目标颜色可以是以颜色值的形式存储在服务器中或者存储在后台存储设备中,还可以是以颜色图像的形式存储在服务器中或者存储在后台存储设备中。
[0049] 进一步地,服务器获取待转换图像的主颜色,进而提取该主颜色的颜色值。主颜色的颜色值可以是十六进制颜色码,也可以是RGB值、HSV 值等任意形式。
[0050] 在一实施例中,该图像颜色迁移方法还包括:使用颜色量化算法对待转换图像进行采样处理,得到量化后的多个颜色;将多个颜色中出现概率最大的颜色作为待转换图像的主颜色。
[0051] 具体地,服务器使用OpenCV(Open Source Computer Vision Library,开源计算机视觉库)库读取待转换图像,并采用颜色量化算法对待转换图像进行采样处理,每次采样得到一个颜色,从而得到量化后的多个颜色;将采样后得到的多个颜色中出现概率最大数量最多的颜色作为待转换图像的主颜色。具体地,颜色量化算法包括中位切分法、K-means聚类法、八叉树法、频度序列法等等。在一实施方式中,采用中位切分法(Modified Median Cut Quantization,MMCQ)作为颜色量化算法处理待转换图像,得到多个输出颜色,选择多个输出颜色中出现频率最高的颜色作为待转换图像的主颜色。
[0052] S200,根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量。
[0053] 在本实施例中,服务器确定出目标颜色之后,读取出该目标颜色的颜色值。进一步地,根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出执行图像颜色迁移时的迁移向量。其中,迁移向量为将目标颜色迁移到待转换图像时参考的移动向量。待转换图像的主颜色的颜色值和目标颜色的颜色值为同一颜色空间内对应的颜色值,从而保证了获得迁移向量的可行性
[0054] 在一实施例中,如图3所示,步骤S200,包括:
[0055] S210,获取待转换图像的主颜色的颜色值在目标颜色空间中对应的第一三维颜色向量。
[0056] S230,获取目标颜色的颜色值在目标颜色空间中对应的第二三维颜色向量。
[0057] S250,根据第一三维颜色向量和第二三维颜色向量确定出迁移向量。
[0058] 在该实施例中,服务器将待转换图像的主颜色的颜色值和目标颜色的颜色值均放置在同一颜色空间中,然后进行计算得到迁移向量。具体地,服务器确定出目标颜色空间。目标颜色空间为三维颜色空间,三个维度分别用于表征颜色中的亮度通道、饱和度通道以及色相通道。该实施例采用的目标颜色空间为CIE-LCH颜色模型空间,当然也可以采用其他的颜色空间进行数值的转化计算。
[0059] 服务器获取待转换图像的主颜色的颜色值在目标颜色空间中对应的第一三维颜色向量以及目标颜色的颜色值在目标颜色空间中对应的第二三维颜色向量,根据目标颜色空间中的第一三维颜色向量和第二三维颜色向量确定出迁移向量。此处的迁移向量也是目标颜色空间中对应的三维向量。
[0060] 具体地,将待转换图像的主颜色和进行颜色迁移的目标颜色转换到 CIE-LCH颜色模型空间。其中,转换方式可以使用python的第三方库,利用scikit-image图像处理包中对应函数进行图像处理。此外,如果待转换图像存在透明通道,此时将透明通道抽离后进行转换,并单独保存透明通道。因此,在CIE-LCH颜色模型空间下,对待转换图像的主颜色的颜色值以及目标颜色的颜色值进行处理以确定出迁移向量,其中利用了CIE-LCH颜色模型空间对于同一变换的响应具有区间均匀的性质,因此可保证颜色迁移的可控性。
[0061] 对于传统的数字图像色彩处理,常用的HSV、HSL、RGB等颜色模型空间,这些颜色空间对于不同颜色的像素处理,对同一种变换的响应程度在视觉效果上差别较大。以HSV空间为例,对于色相分别处于黄色和蓝色区域的两个像素,同样将饱和度调高5,黄色像素的视觉观感变化十分剧烈,而蓝色像素在视觉观感上没有很大变化。因此在应用一致的颜色变换时,不同颜色像素的视觉观感变化不可控,导致生成的图像不具有可读性。而本申请实施例采用的CIE-LCH颜色模型空间,很好的解决了传统的颜色迁移中的不可控性。
[0062] 在一实施例中,步骤S250,包括:获取将第一三维颜色向量平移到第二三维颜色时采用的平移变换向量,将平移变换向量作为迁移向量。
[0063] 在该实施例中,在目标颜色空间中确定出待转换图像的主颜色的颜色值对应的第一三维颜色向量以及目标颜色的颜色值对应的第二三维颜色向量之后,将第一三维颜色向量平移到第二三维颜色向量,得到平移过程采用的平移变换向量,将该平移变换向量作为迁移向量。具体地,在CIE-LCH 颜色模型空间中,平移变换向量为distlch,则平移变换向量的计算方式如下:
[0064] distlch=lchtarget-lchtheme;
[0065] 其中,lchtarget表示第二三维颜色向量;lchtheme表示第一三维颜色向量。 distlch是平移变换向量。每个维度表示对应维度在CIE-LCH颜色模型空间中对应坐标轴移动的距离。distlch的模是在CIE-LCH颜色空间下,第二三维颜色向量和第一三维颜色向量之间的欧氏距离。
[0066] 因此,将第一三维颜色向量平移到第二三维颜色时采用的平移变换向量作为迁移向量,后续采用该迁移向量将目标颜色迁移到待转换图像时,基本上维持了不同颜色区域间的颜色对比关系,不会破坏待转换图像的配色规则,迁移后生成的图像更加美观。
[0067] S300,根据迁移向量,将目标颜色迁移到待转换图像。
[0068] 在本实施例中,服务器根据迁移向量,将目标颜色迁移到待转换图像中从而实现图像颜色迁移。在具体的实施方式中,可以是,将待转换图像所有的颜色值,按照迁移向量进行颜色值的移动,移动后得到的图像中,显现出来的颜色即为目标颜色迁移到待转换图像后的颜色效果。还可以是,待转换图像部分的颜色值,按照迁移向量进行颜色值的移动,移动后得到的图像中,显现出来的颜色即为目标颜色迁移到待转换图像后的颜色效果。因此,克服了传统颜色迁移技术需要参考图片的局限。
[0069] 在一实施例中,迁移向量根据在目标颜色空间中待转换图像的主颜色的颜色值对应的第一三维颜色向量以及目标颜色的颜色值对应的第二三维颜色向量确定出的三维向量。此时,步骤S300,包括:提取待转换图像的像素的颜色值,根据迁移向量,将待转换图像的像素的颜色值进行迁移,将迁移后的待转换图像作为目标图像,目标图像为将目标颜色迁移到待转换图像后的图像。
[0070] 具体地,在执行颜色迁移时,提取待转换图像的像素的颜色值,将像素的颜色值按照迁移向量进行迁移,迁移后得到的目标图像中,显示的颜色即为目标颜色在该待转换图像中的颜色显示结果,因此实现了将目标颜色迁移到待转换图像。其中,可以是将待转换图像的所有像素的颜色值,按照迁移向量进行迁移,将迁移后的待转换图像作为目标图像。也可以是,将待转换图像的部分像素的颜色值,按照迁移向量进行迁移,将迁移后的待转换图像作为目标图像。
[0071] 在一实施例中,根据迁移向量,将待转换图像的像素的颜色值进行迁移,包括:根据迁移向量,将待转换图像的像素的颜色值分别按照亮度维度、饱和度维度和色相维度进行迁移;其中,目标颜色空间包括亮度维度、饱和度维度和色相维度。
[0072] 具体地,目标颜色空间为三维空间,三维空间中对应的三个维度分为别亮度维度、饱和度维度和色相维度。也即是,待转换图像的像素的颜色值在目标颜色空间中体现为三个维度值表征的数值,三个维度值分别表征像素的亮度、饱和度和色相。此外,迁移向量为三维向量,三个维度分别表征颜色对应的亮度、饱和度和色相。在目标颜色空间中,待转换图像的像素的颜色值按照迁移向量进行迁移,迁移后的图像即为将目标颜色迁移到待转换图像的图像。其中,颜色迁移过程,可以是将待转换图像的所有像素的颜色值按照迁移向量进行迁移,也可以是将待转换图像的部分像素的颜色值按照迁移向量进行迁移。
[0073] 在该实施例的一个实施方式中,根据迁移向量,将待转换图像的像素的颜色值分别按照亮度维度、饱和度维度和色相维度进行迁移,包括:根据第一归一化函数,将待转换图像的像素的颜色值中亮度维度对应的亮度数据进行归一化处理,得到第一数值;根据迁移向量以及第一数值,将待转换图像的像素的颜色值按照亮度维度进行迁移;根据第二归一化函数,将待转换图像的像素的颜色值中饱和度维度对应的饱和度数据进行归一化处理,得到第二数值;根据迁移向量以及第二数值,将待转换图像的像素的颜色值按照饱和度维度进行迁移;获取迁移向量和待转换图像的像素的颜色值的和值,将和值对2π取余,根据取余结果将待转换图像的像素的颜色值按照色相维度进行迁移;π为圆周率。
[0074] 具体地,将待转换图像的所有像素的颜色值按照迁移向量进行迁移。待转换图像的像素在目标颜色空间中按照迁移向量进行迁移时,按照以下方式进行:
[0075] pi,j[L]'=pi,j[L]+fl(pi,j[L])*distlch[L];
[0076] pi,j[C]'=pi,j[C]+fc(pi,j[C])*distlch[C];
[0077] pi,j[H]'=(pi,j[H]+distlch[H])MOD2π;
[0078] 其中,i,j分别是图像中的二维坐标,L表示亮度维度,C表示饱和度维度,H表示色相维度。pi,j[L]表示待转换图像在亮度维度上的值,pi,j[C] 表示待转换图像在饱和度维度上的值,pi,j[H]表示待转换图像在色相维度上的值。fl(pi,j[L])表示第一归一化函数,fc(pi,j[C])表示第二归一化函数,MOD 表示取余运算。distlch[L]表示迁移向量在亮度维度上的值,distlch[C]表示迁移向量在饱和度维度上的值,distlch[H]表示迁移向量在色相维度上的值。pi,j[L]’表示待转换图像在亮度维度迁移后得到的值,pi,j[C]’表示待转换图像在饱和度维度迁移后得到的值,pi,j[H]’表示待转换图像在色相维度迁移后得到的值。
[0079] 第一归一化函数fl(pi,j[L])为:
[0080] 第二归一化函数fc(pi,j[C])为:
[0081] 其中,pi,j[L]和pi,j[C]的定义域为[0,100],pi,j[H]的定义域为[0,2π]。 fl(pi,j[L])和fc(pi,j[C])值域为[0,1],pi,j[H]'的值域为[0,2π]。
[0082] 另外,第一归一化函数fl(pi,j[L])还可以为:
[0083] 第二归一化函数fc(pi,j[C])还可以为:
[0084] 本实施例使用归一化函数对待转换图像做了限定,以尽可能保证经过变换后的像素的色值仍落在定义域内。此外,定义的归一化函数在整个定义域内连续,这样保证颜色迁移后的图像,在各个边缘区域不会产生撕裂感,增强了可读性。
[0085] 第一归一化函数和第二归一化函数的选择可以是多样的,其物理意义上服从的约束是:
[0086] 对于亮度通道,归一化函数值域为[0,1],在定义域内关于x=50轴对称, x<50时函数单调递增,x>50时函数单调递减,且在x=50时取最到最大值 1。这是因为黑色、白色的区域一般是不希望参与颜色变换的区域,比如黑白色的文案。通过归一化函数对平移向量进行加权,以保证原图中黑色、白色的文案颜色基本不变。
[0087] 关于饱和度通道,归一化函数在定义域内单调递增,值域为[0,1]。这样确保原色值饱和度较低时,其饱和度的变化幅度也应较低,避免在颜色转换后出现色值不准确。
[0088] 以下以两组不同的归一化函数举例,对于同样的输入达到了不同的效果:
[0089] 第一组:
[0090] 第一归一化函数fl(pi,j[L])为:
[0091] 第二归一化函数fc(pi,j[C])为:
[0092] 第二组:
[0093] 第一归一化函数fl(pi,j[L])为:
[0094] 第二归一化函数fc(pi,j[C])为:
[0095] 分别采用两组函数进行颜色迁移后,结果显示图如图4所示。参见图 4,将目标颜色的颜色图像11,采用第一组函数实现颜色迁移后,得到的新图像为图像22,采用第二组函数实现颜色迁移后,得到的新图像为图像 33。对比图像22和图像33可知,将目标颜色迁移后,图像22中的图像以及文案的显示效果与图像33中的图像以及文案的显示效果存在明显差异。
[0096] 其中使用第一组数函数生成的图片,文案对比度有所下降,而使用第二组函数生成的图片,文案的对比度清晰,但色彩饱和度和亮度有所下降。
[0097] 归一化函数的选择是主观的,本申请给出的两组归一化函数是经过实验认为呈现效果较好的两组,在保证了生成图片的基本效果的前提下,分别侧重于明亮和相对稳重的场景。实际上服从上述约束条件的函数,都可以作为归一化函数,但也会对生成图片有不同的影响。
[0098] 在一实施例中,步骤S300之后,该图像颜色迁移方法还包括:将目标颜色迁移到待转换图像后得到的图像转换为对应目标格式的图像。
[0099] 具体地,在实现将目标颜色迁移到待转换图像的过程中,需要将目标颜色以及待转换图像转换到目标颜色空间中进行处理,得到迁移后的图像也为目标颜色空间下的图像。因此,需要将迁移后得到的图像转换为需求对应的目标格式的图像,最后输出目标格式的图像。也可以是,可以将目标颜色迁移到待转换图像后得到的图像按照各种需求进行图像的格式转换。例如,待转换图像和目标色均为RGB颜色空间下表征的图像和颜色,将两者转换到CIE-LCH颜色模型空间进行颜色迁移处理后,将迁移后得到的图像再转换回RGB颜色空间,最后输出RGB颜色空间下的图像。
[0100] 上述图像颜色迁移方法,当确定出迁移到待转换图像中的目标颜色的颜色值时,提取待转换图像的主颜色的颜色值,通过待转换图像的主颜色的颜色值以及目标颜色的颜色值,确定出进行颜色迁移的迁移向量,最终可根据迁移向量将目标颜色迁移到待转换图像。因此,无需目标参考图,即可实现待转换图像的颜色迁移,打破传统颜色迁移技术需要参考图片的局限,使得颜色迁移技术满足更多的应用场景。
[0101] 为了更好地说明上述实施例的一种图像颜色迁移方法,以下给出一具体实施例:
[0102] 1、使用OpenCV库读取待处理的图片,即待转换图像。
[0103] 2、使用中位切分法(Modified Median Cut Quantization,MMCQ)处理取待处理的图片,得到10个输出颜色,选择出现频率最高的颜色作为待处理的图片的主颜色。
[0104] 3、将得到的主颜色和需要颜色迁移的目标颜色转换到CIE-LCH颜色模型空间,可以使用python的第三方库,scikit-image中的对应函数进行图像处理,得到主颜色的色值和目标颜色的色值。如果待处理的图片存在透明通道,将透明通道抽离后进行转换,并单独保存透明通道。
[0105] 4、使用得到的主颜色的色值和目标颜色的色值,使用Numpy多维数组的向量减法,计算出在CIE-LCH颜色模型空间中,从主颜色的色值到目标颜色的色值下的平移变换向量。
[0106] 5、使用Numpy多维数组的向量加法,对待处理的图片中每个像素根据平移变换向量做对应变换,得到变换后的图片。
[0107] 6、将变换后的图片由CIE-LCH颜色模型空间转换回RGB颜色空间,具体可以使用python的第三方库,采用scikit-image中的对应函数进行图像处理。同样地,如果变换后的图片存在透明通道,使用Numpy多维数组中的Numpy.concatenate函数,将转换后的图片加上在步骤3中保存的透明通道,得到目标图片。
[0108] 7、完成,输出变换后目标图片。
[0109] 在该实施方式中,其实现的结果如图5所示。将目标色44迁移到待处理图片55中,最终迁移后得到目标图片66。
[0110] 因此,在对于已有的设计图有新的配色需求时,根据本申请的技术实施方案,只需要输入已有的模板位图和根据需求指定的目标色值,可在数秒内根据原模板得到颜色迁移后的图片,后续只需要人工审核或者微调即可。不仅极大的减少了设计师的重复劳动,同时,在系统中只需要维护一个PSD(Photoshop特有的图像文件格式)文件,可以在接到配色需求后实时生成所需要的图片,大大节省了存储资源。
[0111] 应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0112] 在一个实施例中,如图6所示,提供了一种图像颜色迁移装置,包括:提取模块100、确定模块200和迁移模块300,其中:
[0113] 提取模块100,用于提取待转换图像的主颜色的颜色值。
[0114] 确定模块200,用于根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量。
[0115] 迁移模块300,用于根据迁移向量,将目标颜色迁移到待转换图像。
[0116] 在其中一个实施例中,确定模块200可以包括(图6未示出):
[0117] 第一获取单元,用于获取待转换图像的主颜色的颜色值在目标颜色空间中对应的第一三维颜色向量。
[0118] 第二获取单元,用于获取目标颜色的颜色值在目标颜色空间中对应的第二三维颜色向量。
[0119] 确定单元,用于根据第一三维颜色向量和第二三维颜色向量确定出迁移向量。
[0120] 在其中一个实施例中,确定单元可以包括:
[0121] 确定子单元,用于获取将第一三维颜色向量平移到第二三维颜色时采用的平移变换向量,将平移变换向量作为迁移向量。
[0122] 在其中一个实施例中,迁移模块300可以包括(图6未示出):
[0123] 提取单元,用于提取所述待转换图像的像素的颜色值。
[0124] 迁移单元,用于根据迁移向量,将待转换图像的像素的颜色值进行迁移,将迁移后的所述待转换图像作为目标图像;
[0125] 目标图像为将目标颜色迁移到待转换图像后的图像。
[0126] 在其中一个实施例中,迁移单元还包括:
[0127] 迁移子单元,用于根据迁移向量,将待转换图像的像素的颜色值分别按照目标颜色空间中的亮度维度、饱和度维度和色相维度进行迁移。
[0128] 在其中一个实施例中,迁移子单元还包括(图6未示出):
[0129] 第一处理单元,用于根据第一归一化函数,将待转换图像的像素的颜色值中亮度维度对应的亮度数据进行归一化处理,得到第一数值;根据迁移向量以及第一数值,将待转换图像的像素的颜色值按照亮度维度进行迁移;
[0130] 第二处理单元,用于根据第二归一化函数,将待转换图像的像素的颜色值中饱和度维度对应的饱和度数据进行归一化处理,得到第二数值;根据迁移向量以及第二数值,将待转换图像的像素的颜色值按照饱和度维度进行迁移;
[0131] 第三处理单元,用于获取迁移向量和待转换图像的像素的颜色值的和值,将和值对2π取余,根据取余结果将待转换图像的像素的颜色值按照色相维度进行迁移;π为圆周率。
[0132] 在其中一个实施例中,该图像颜色迁移装置,还包括(图6未示出):
[0133] 切分模块,使用颜色量化算法对所述待转换图像进行采样处理,得到量化后的多个颜色;将多个颜色中出现概率最大的颜色作为待转换图像的主颜色。
[0134] 关于图像颜色迁移装置的具体限定可以参见上文中对于图像颜色迁移方法的限定,在此不再赘述。上述图像颜色迁移装置中的各个模块可全部或部分通过软件硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0135] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是图像处理的服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口数据库。其中,该计算机设备的处理器用于提供计算和控制能。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标颜色的颜色值等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像颜色迁移方法。
[0136] 本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0137] 在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0138] 提取待转换图像的主颜色的颜色值;根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量;根据迁移向量,将目标颜色迁移到待转换图像。
[0139] 在一个实施例中,处理器执行计算机程序,实现根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量时,还实现以下步骤:
[0140] 获取待转换图像的主颜色的颜色值在目标颜色空间中对应的第一三维颜色向量;获取目标颜色的颜色值在目标颜色空间中对应的第二三维颜色向量;根据第一三维颜色向量和第二三维颜色向量确定出迁移向量。
[0141] 在一个实施例中,处理器执行计算机程序,实现根据第一三维颜色向量和第二三维颜色向量确定出迁移向量时,还实现以下步骤:
[0142] 获取将第一三维颜色向量平移到第二三维颜色时采用的平移变换向量,将平移变换向量作为迁移向量。
[0143] 在一个实施例中,处理器执行计算机程序,实现根据迁移向量,将目标颜色迁移到待转换图像时,还实现以下步骤:
[0144] 提取待转换图像的像素的颜色值;根据迁移向量,将待转换图像的像素的颜色值进行迁移,将迁移后的待转换图像作为目标图像;目标图像为将目标颜色迁移到待转换图像后的图像。
[0145] 在一个实施例中,处理器执行计算机程序,实现根据迁移向量,将待转换图像的像素的颜色值进行迁移时,还实现以下步骤:
[0146] 根据迁移向量,将待转换图像的像素的颜色值分别按照目标颜色空间中的亮度维度、饱和度维度和色相维度进行迁移。
[0147] 在一个实施例中,处理器执行计算机程序,实现根据迁移向量,将待转换图像的像素的颜色值分别按照亮度维度、饱和度维度和色相维度进行迁移时,还实现以下步骤:
[0148] 根据第一归一化函数,将待转换图像的像素的颜色值中亮度维度对应的亮度数据进行归一化处理,得到第一数值;根据迁移向量以及第一数值,将待转换图像的像素的颜色值按照亮度维度进行迁移;根据第二归一化函数,将待转换图像的像素的颜色值中饱和度维度对应的饱和度数据进行归一化处理,得到第二数值;根据迁移向量以及第二数值,将待转换图像的像素的颜色值按照饱和度维度进行迁移;获取迁移向量和待转换图像的像素的颜色值的和值,将和值对2π取余,根据取余结果将待转换图像的像素的颜色值按照色相维度进行迁移;π为圆周率。
[0149] 在一个实施例中,处理器执行计算机程序时,还实现以下步骤:
[0150] 使用颜色量化算法对待转换图像进行采样处理,得到量化后的多个颜色;将多个颜色中出现概率最大的颜色作为待转换图像的主颜色。
[0151] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0152] 提取待转换图像的主颜色的颜色值;根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量;根据迁移向量,将目标颜色迁移到待转换图像。
[0153] 在一个实施例中,计算机程序被处理器执行,根据待转换图像的主颜色的颜色值和目标颜色的颜色值,确定出将目标颜色迁移到待转换图像时采用的迁移向量时,还实现以下步骤:
[0154] 获取待转换图像的主颜色的颜色值在目标颜色空间中对应的第一三维颜色向量;获取目标颜色的颜色值在目标颜色空间中对应的第二三维颜色向量;根据第一三维颜色向量和第二三维颜色向量确定出迁移向量。
[0155] 在一个实施例中,计算机程序被处理器执行,根据第一三维颜色向量和第二三维颜色向量确定出迁移向量时,还实现以下步骤:
[0156] 获取将第一三维颜色向量平移到第二三维颜色时采用的平移变换向量,将平移变换向量作为迁移向量。
[0157] 在一个实施例中,计算机程序被处理器执行,根据迁移向量,将目标颜色迁移到待转换图像时,还实现以下步骤:
[0158] 提取待转换图像的像素的颜色值;根据迁移向量,将待转换图像的像素的颜色值进行迁移,将迁移后的待转换图像作为目标图像;目标图像为将目标颜色迁移到待转换图像后的图像。
[0159] 在一个实施例中,计算机程序被处理器执行,根据迁移向量,将待转换图像的像素的颜色值进行迁移时,还实现以下步骤:
[0160] 根据迁移向量,将待转换图像的像素的颜色值分别按照目标颜色空间中的亮度维度、饱和度维度和色相维度进行迁移;其中,目标颜色空间包括亮度维度、饱和度维度和色相维度。
[0161] 在一个实施例中,计算机程序被处理器执行,根据迁移向量,将待转换图像的像素的颜色值分别按照亮度维度、饱和度维度和色相维度进行迁移时,还实现以下步骤:
[0162] 根据第一归一化函数,将待转换图像的像素的颜色值中亮度维度对应的亮度数据进行归一化处理,得到第一数值;根据迁移向量以及第一数值,将待转换图像的像素的颜色值按照亮度维度进行迁移;根据第二归一化函数,将待转换图像的像素的颜色值中饱和度维度对应的饱和度数据进行归一化处理,得到第二数值;根据迁移向量以及第二数值,将待转换图像的像素的颜色值按照饱和度维度进行迁移;获取迁移向量和待转换图像的像素的颜色值的和值,将和值对2π取余,根据取余结果将待转换图像的像素的颜色值按照色相维度进行迁移;π为圆周率。。
[0163] 在一个实施例中,计算机程序被处理器执行时,还实现以下步骤:使用颜色量化算法对待转换图像进行采样处理,得到量化后的多个颜色;将多个颜色中出现概率最大的颜色作为待转换图像的主颜色。
[0164] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM (EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM (RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0165] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0166] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈