CN112053277A - 一种图像换肤的方法、装置、设备及存储介质 - Google Patents
一种图像换肤的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112053277A CN112053277A CN201910487060.3A CN201910487060A CN112053277A CN 112053277 A CN112053277 A CN 112053277A CN 201910487060 A CN201910487060 A CN 201910487060A CN 112053277 A CN112053277 A CN 112053277A
- Authority
- CN
- China
- Prior art keywords
- color value
- color
- pixel point
- target pixel
- skin
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004088 simulation Methods 0.000 claims abstract description 61
- 230000008859 change Effects 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 5
- 239000003086 colorant Substances 0.000 abstract description 24
- 230000000694 effects Effects 0.000 abstract description 7
- 235000012736 patent blue V Nutrition 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- WFZFMHDDZRBTFH-CZEFNJPISA-N 2-[(e)-2-(5-carbamimidoyl-1-benzofuran-2-yl)ethenyl]-1-benzofuran-5-carboximidamide;dihydrochloride Chemical compound Cl.Cl.NC(=N)C1=CC=C2OC(/C=C/C=3OC4=CC=C(C=C4C=3)C(=N)N)=CC2=C1 WFZFMHDDZRBTFH-CZEFNJPISA-N 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- VAYOSLLFUXYJDT-RDTXWAMCSA-N Lysergic acid diethylamide Chemical compound C1=CC(C=2[C@H](N(C)C[C@@H](C=2)C(=O)N(CC)CC)C2)=C3C2=CNC3=C1 VAYOSLLFUXYJDT-RDTXWAMCSA-N 0.000 description 2
- 241000907663 Siproeta stelenes Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种图像换肤的方法、装置、设备及存储介质,属于图像处理领域。所述方法包括:遍历图像中的每个像素点的颜色值,所述图像为任一待处理的图像;当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,所述目标像素点为遍历到的任一像素点;当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对所述目标像素点进行换肤。如此,对于多种颜色连接处的像素点,可以通过确定模拟颜色值的方法进一步判断是否需要换肤,可以避免整张图片的颜色衔接出现问题,进而增强了图像换肤的效果。
Description
技术领域
本申请涉及图像处理领域,特别涉及一种图像换肤的方法、装置、设备及存储介质。
背景技术
图像换肤是指将图像中的某种主题颜色换成另外一种颜色。例如,一张白色背景蓝色文字的图像,想要变成白色背景红色文字的图像,可以将图像中的蓝色替换成红色,从而实现了图像换肤。
目前,在图像换肤过程中,确定需要被换肤的主题颜色值和换肤后的目标颜色值,然后遍历图像中的每个像素点,比较遍历到的像素点的颜色值与主题颜色值是否相同。若遍历到的像素点的颜色值与主题颜色值相同,可以将遍历到的像素点的颜色值替换为目标颜色值;否则,当遍历到的像素点的颜色值与主题颜色值不相同时,对遍历到的像素点不进行任何操作。
然而,当需要对包括多种颜色的图像进行换肤时,由于多种颜色的连接处的像素点颜色是由该多种颜色叠加而成的,与主题颜色值不相同,所以无法对这些像素点进行换肤处理,如此可能会导致换肤后的整张图像的颜色衔接出现问题,影响图像换肤的效果。
发明内容
本申请实施例提供了一种图像换肤的方法、装置、设备及存储介质,可以解决相关技术中不能对多种颜色连接处的像素点进行换肤,影响换肤效果的问题。所述技术方案如下:
一方面,提供了一种图像换肤的方法,所述方法包括:
遍历图像中的每个像素点的颜色值,所述图像为任一待处理的图像;
当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,所述目标像素点为遍历到的任一像素点;
当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对所述目标像素点进行换肤。
在本申请一种可能的实现方式中,当所述待换肤颜色值的数量为多个时,所述基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,包括:
从所述待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
依次从所述至少一个参考背景颜色值选择一个参考背景颜色值;
当选择到一个参考背景颜色值时,分别将所述多个模拟主题颜色值与所述一个参考背景颜色值进行合并,得到多个模拟合并颜色值;
当当前得到的多个模拟合并颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于所述偏移量阈值的模拟合并颜色值时,将当前得到的以及当前之前得到的所有模拟合并颜色值确定为所述多个模拟颜色值;或者,当选择到最后一个参考背景颜色值并基于最后一个参考背景颜色值确定多个模拟合并颜色值后,将确定的所有模拟合并颜色值确定为所述多个模拟合并颜色值。
在本申请一种可能的实现方式中,当所述待换肤颜色值的数量为多个时,所述基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,包括:
从所述待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
对于所述至少一个参考背景颜色值中的每个参考背景颜色值,分别将所述多个模拟主题颜色值与每个参考背景颜色值进行合并,得到每个参考背景颜色值对应的多个模拟合并颜色值;
将所述至少一个参考背景颜色值对应的所有模拟合并颜色值确定为所述多个模拟颜色值。
在本申请一种可能的实现方式中,所述颜色值包括红绿蓝RGB颜色空间的值,所述当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对所述目标像素点进行换肤,包括:
当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,确定所述目标像素点的颜色值的R分量、G分量和B分量之和;
当所述目标像素点的颜色值的R分量、G分量和B分量之和小于或等于颜色值阈值时,基于参考换肤颜色值对所述目标像素点进行换肤。
在本申请一种可能的实现方式中,当所述颜色值包括红绿蓝RGB颜色空间的值时,所述基于参考换肤颜色值对所述目标像素点进行换肤,包括:
分别将所述目标像素点的颜色值、选择的换肤颜色值和所述参考换肤颜色值从RGB颜色空间转化至HSV颜色空间;
基于转化后的所述目标像素点的颜色值与选择的换肤颜色值,确定所述目标像素点的颜色值与选择的换肤颜色值之间的偏移量;
根据转化后的参考换肤颜色值,以及所述目标像素点的颜色值与选择的换肤颜色值之间的偏移量,确定目标换肤颜色值;
将所述目标换肤颜色值从HSV颜色空间转化至RGB颜色空间;
将所述目标像素点的颜色值替换为RGB颜色空间的目标换肤颜色值。
在本申请一种可能的实现方式中,所述当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值之前,还包括:
查询所述图像中是否存在与所述目标像素点的颜色值相同且已被换肤处理的像素点;
当所述图像中不存在与所述目标像素点的颜色值相同且已被换肤处理的像素点时,执行所述当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值的操作。
另一方面,提供了一种图像换肤的装置,所述装置包括:
遍历模块,用于遍历图像中的每个像素点的颜色值,所述图像为任一待处理的图像;
确定模块,用于当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,所述目标像素点为遍历到的任一像素点;
换肤模块,用于当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对所述目标像素点进行换肤。
在本申请一种可能的实现方式中,所述确定模块用于:
从所述待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
依次从所述至少一个参考背景颜色值选择一个参考背景颜色值;
当选择到一个参考背景颜色值时,分别将所述多个模拟主题颜色值与所述一个参考背景颜色值进行合并,得到多个模拟合并颜色值;
当当前得到的多个模拟合并颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于所述偏移量阈值的模拟合并颜色值时,将当前得到的以及当前之前得到的所有模拟合并颜色值确定为所述多个模拟颜色值;或者,当选择到最后一个参考背景颜色值并基于最后一个参考背景颜色值确定多个模拟合并颜色值后,将确定的所有模拟合并颜色值确定为所述多个模拟合并颜色值。
在本申请一种可能的实现方式中,所述确定模块用于:
从所述待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
对于所述至少一个参考背景颜色值中的每个参考背景颜色值,分别将所述多个模拟主题颜色值与每个参考背景颜色值进行合并,得到每个参考背景颜色值对应的多个模拟合并颜色值;
将所述至少一个参考背景颜色值对应的所有模拟合并颜色值确定为所述多个模拟颜色值。
在本申请一种可能的实现方式中,所述颜色值包括红绿蓝RGB颜色空间的值,所述换肤模块用于:
当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,确定所述目标像素点的颜色值的R分量、G分量和B分量之和;
当所述目标像素点的颜色值的R分量、G分量和B分量之和小于或等于颜色值阈值时,基于参考换肤颜色值对所述目标像素点进行换肤。
在本申请一种可能的实现方式中,当所述颜色值包括红绿蓝RGB颜色空间的值时,所述换肤模块用于:
分别将所述目标像素点的颜色值、选择的换肤颜色值和所述参考换肤颜色值从RGB颜色空间转化至HSV颜色空间;
基于转化后的所述目标像素点的颜色值与选择的换肤颜色值,确定所述目标像素点的颜色值与选择的换肤颜色值之间的偏移量;
根据转化后的参考换肤颜色值,以及所述目标像素点的颜色值与选择的换肤颜色值之间的偏移量,确定目标换肤颜色值;
将所述目标换肤颜色值从HSV颜色空间转化至RGB颜色空间;
将所述目标像素点的颜色值替换为RGB颜色空间的目标换肤颜色值。
在本申请一种可能的实现方式中,所述确定模块还用于:
查询所述图像中是否存在与所述目标像素点的颜色值相同且已被换肤处理的像素点;
当所述图像中不存在与所述目标像素点的颜色值相同且已被换肤处理的像素点时,执行所述当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值的操作。
另一方面,提供了一种设备,所述设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述一方面所述的任一项方法的步骤。
另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述一方面所述的任一项方法的步骤。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述一方面所述的任一项方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
在对任一待处理图像进行图像换肤的过程中,遍历该图像中的每个像素点的颜色值,比较每个像素点的颜色值与待换肤颜色值,当待换肤颜色值不包括目标像素点的颜色值时,可以基于待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,可以认为该目标像素点的颜色值与待换肤颜色值相近,从而可以确定需要对该目标像素点进行换肤处理,这里可以基于参考换肤颜色值对该目标像素点进行换肤。如此,对于多种颜色连接处的像素点,可以通过确定模拟颜色值的方法做进一步判断,以确定与待换肤颜色值是否相近,从而判断是否需要换肤,如此,可以避免整张图片的颜色衔接出现问题,进而增强了图像换肤的效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种图像换肤的方法流程图;
图2是根据一示例性实施例示出的一种图像换肤的方法框图;
图3是根据另一示例性实施例示出的一种图像换肤的方法流程图;
图4是根据一示例性实施例示出的一种图像换肤的装置的结构示意图;
图5是根据一示例性实施例示出的一种设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例涉及的实施环境予以说明。
本申请实施例提供的图像换肤的方法可以由设备来执行。该设备中可以存有图库,以便于从图库中获取多个待处理图像。作为一种示例,该待处理图像可以为UI(UserInterface,用户界面)做出的效果图中的相关图片或图表。
进一步地,该设备可以包括图像处理模块、颜色处理模块和颜色值转换模块,其中,图像处理模块可以用于对图像进行换肤处理,颜色处理模块可以用于对颜色值进行计算,颜色值转换模块可以用于实现红绿蓝RGB颜色空间的颜色值与HSV(色调、饱和度、明度)颜色空间的颜色值之间的转换。作为一种示例,该设备可以为终端,也可以为服务器,本申请实施例对此不做限定。
图1是根据一示例性实施例示出的一种图像换肤的方法流程图,以该方法应用于上述实施环境中为例进行说明,该方法可以包括如下几个实现步骤:
步骤101:遍历图像中的每个像素点的颜色值,该图像为任一待处理的图像。
在图像换肤的过程中,需要获取图像中的每个像素点的颜色值,根据该每个像素点的颜色值对该图像进行换肤。其中,该图像可以是从图库中获取的图像,比如如图2所示,该图库中可以包括多个待处理图像。
为了便于描述和理解,可以将遍历到的像素点称为目标像素点。
进一步地,对图像进行换肤之前,可以确定待换肤颜色值和参考换肤颜色值。其中,待换肤颜色值是指图像中需要被替换的颜色的颜色值,参考换肤颜色值是指用来替换待换肤颜色的颜色的颜色值。
需要说明的是,参考换肤颜色值可以由用户根据实际需要进行设置,也可以由设备默认设置,本申请实施例对此不做限定。
作为一种示例,可以根据多个待处理图像的主题颜色来确定待换肤颜色,进而确定待换肤颜色值。通常情况下,对于多个待处理图像中的每个图像,其主题颜色在生成图像的时候已经确定了,所以可以直接根据该主题颜色确定待换肤颜色,进而确定待换肤颜色值。
譬如,假设多个待处理图像的主题颜色是蓝色,可以由人工遍历该多个待处理图像,将属于蓝色系的颜色找出来,假设有多个属于蓝色系的颜色,可以从中随机选择N个颜色作为待换肤颜色,进而将该N个颜色对应的颜色值确定为待换肤颜色值;也可以判断每个颜色分别在多少个图像中出现,将出现次数较多的N个颜色确定为待换肤颜色,进而将该N个颜色对应的颜色值确定为待换肤颜色值。其中,N为大于或等于1的整数,可以由用户根据实际需要进行设置,也可以由设备默认设置,本申请对此不做限定。
作为一种示例,待换肤颜色可以为一种颜色,也可以为多种颜色,即待换肤颜色值的数量可以为一个,也可以为多个。
示例性地,假设有50个待处理图像,且该50个待处理图像的主题颜色为蓝色,在该50个待处理图像中,关于蓝色的颜色包括天蓝、湖蓝、孔雀蓝和正蓝,假设天蓝在10个图像中出现过,湖蓝在12个图像中出现过,孔雀蓝在8个图像中出现过,正蓝在50个图像中出现过,由此可知,正蓝在该50个图像中出现的次数最多,可以将正蓝确定为待换肤颜色,根据正蓝对应的颜色值,进而确定待换肤颜色值,这种情况下,待换肤颜色值的数量为1个。
示例性地,继续上述举例,当N设置为3时,可以将天蓝、湖蓝和正蓝确定为待换肤颜色,根据每种颜色对应的颜色值,进而确定待换肤颜色值,这种情况下,待换肤颜色值的数量为3个。
不难理解,该待换肤颜色值可能包括目标像素点的颜色值,也可能不包括目标像素点的颜色值,在图像换肤的过程中,可以比较目标像素点的颜色值和待换肤颜色值,以判断待换肤颜色值是否包括目标像素点的颜色值。示例性地,当颜色值可以包括红绿蓝RGB颜色空间的值时,可以分别将目标像素点的颜色值的R分量、G分量和B分量与待换肤颜色值的R分量、G分量和B分量进行比较,以判断各个分量是否对应相同。当待换肤颜色值的各个分量分别与目标像素点的颜色值的各个分量对应相同时,确定待换肤颜色值包括目标像素点的颜色值,反之,确定待换肤颜色值不包括目标像素点的颜色值。
示例性地,假设待换肤颜色为天蓝色,且待换肤颜色值为(135,206,250),若目标像素点的颜色值为(135,206,250),与天蓝色的颜色值的R分量、G分量和B分量分别相同,可以确定待换肤颜色值中包括目标像素点的颜色值;若目标像素点的颜色值为(25,206,255),则可以看出,与天蓝色的颜色值的G分量和B分量分别相同,但R分量不同,可以确定待换肤颜色值中不包括目标像素点的颜色值。
再如,假设待换肤颜色包括天蓝色、品蓝色和深蓝色,待换肤颜色值包括(135,206,250)、(65,105,225)和(25,25,112),若目标像素点的颜色值为(65,105,225),则可以确定与品蓝色的颜色值的R分量、G分量和B分量分别相同,从而可以确定待换肤颜色值中包括目标像素点的颜色值;若目标像素点的颜色值为(65,150,225),则由于与品蓝色的颜色值的R分量和B分量分别相同,但G分量不相同,与天蓝色和深蓝色的R分量、G分量和B分量均不相同,可以确定待换肤颜色值中不包括目标像素点的颜色值。
步骤102:当待换肤颜色值不包括目标像素点的颜色值时,基于待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,该目标像素点为遍历到的任一像素点。
其中,至少一个参考背景颜色值包括多个待处理图像中大多数图像的背景颜色值。作为一种示例,该至少一个参考背景颜色可以由人工通过遍历多个待处理图像来确定。
也就是说,当目标像素点的颜色值与待换肤颜色值不匹配,即待换肤颜色值不包括目标像素点的颜色值时,需要进一步判断是否对该目标像素点进行换肤,为此,可以基于待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,然后通过比较模拟颜色值与目标像素点的颜色值来确定是否需要对该目标像素点进行换肤。
作为一种示例,基于待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值的具体实现可以包括如下几种实现方式:
第一种实现方式:当待换肤颜色值的数量为多个时,可以从待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值,依次从至少一个参考背景颜色值选择一个参考背景颜色值,当选择到一个参考背景颜色值时,分别将多个模拟主题颜色值与该一个参考背景颜色值进行合并,得到多个模拟合并颜色值,当当前得到的多个模拟合并颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟合并颜色值时,将当前得到的以及当前之前得到的所有模拟合并颜色值确定为多个模拟颜色值;或者,当选择到最后一个参考背景颜色值并基于最后一个参考背景颜色值确定多个模拟合并颜色值后,将确定的所有模拟合并颜色值确定为所述多个模拟合并颜色值。
其中,偏移量阈值可以由用户根据实际需求进行设置,或者,也可以由该设备默认设置,本申请实施例对此不作限定。
其中,从待换肤颜色值中选择一个换肤颜色值,作为一种示例,选择一个换肤颜色值的实现可以为,对于多个待换肤颜色值中的任一待换肤颜色值,可以确定在每个图像中颜色值与该任一待换肤颜色值相同的像素点的个数,进而得到在多个图像中颜色值与该任一待换肤颜色值相同的像素点的总个数。对多个待换肤颜色值中的每个待换肤颜色值,都进行上述操作后,可以得到每个待换肤颜色值对应的像素点的总个数,将最大像素点的总个数对应的待换肤颜色值确定为选择的一个换肤颜色值。作为另一种示例,对于多个待换肤颜色值中的任一待换肤颜色值,可以确定该任一待换肤颜色值在多少张图像中出现过,进而得到该任一待换肤颜色值的出现次数,对多个待换肤颜色值中的每个待换肤颜色值,都进行上述操作后,可以得到每个待换肤颜色值对应的出现次数,可以将最大出现次数对应的待换肤颜色值确定为选择的一个换肤颜色值,本申请实施例对此不做限定。
需要说明的是,当待换肤颜色值的数量为一个时,可以直接将该待换肤颜色值确定为选择的换肤颜色值,然后基于该选择的换肤颜色值确定多个模拟主题颜色值,并且进行后续的操作。
作为一种示例,基于选择的换肤颜色值确定多个模拟主题颜色值时,可以通过为选择的换肤颜色值增加透明度的方式确定该多个模拟主题颜色值,透明度的取值可以为[0,255]。遍历[0,255]中的每个值,将遍历到的值作为选择的换肤颜色值的透明度分量,如此,对于遍历到的每一个取值都可以对应得到一个模拟主题颜色值,从而可以得到多个模拟主题颜色值。
示例性地,假设选择的换肤颜色值为(0,0,255),选择透明度为20,可以得到一个模拟主题颜色值为(0,0,255,20),以此类推,按照该种方式,可以确定256个模拟主题颜色值。
之后,依次从至少一个参考背景颜色值中选择一个参考背景颜色值,并根据选择的参考背景颜色值确定该一个参考背景颜色值对应的多个模拟合并颜色值。在实施中,可以按照某个预定的规则依次从至少一个参考背景颜色值中进行选择,示例性地,可以按照一定的顺序对该至少一个参考背景颜色值进行排序,然后,从排序后的至少一个参考背景颜色值中选择一个参考背景颜色值。
示例性地,从排序后的至少一个参考背景颜色值中选择第一个参考背景颜色值,分别将上述得到的多个模拟主题颜色值与第一个参考背景颜色值进行合并,得到多个模拟合并颜色值,判断当前得到的多个模拟合并颜色值中是否存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟合并颜色值,若存在,将第一个参考背景颜色值对应的多个模拟合并颜色值确定为多个模拟颜色值,并且停止基于其他参考背景颜色值进行合并的操作。
若不存在,则继续从该排序后的至少一个参考背景颜色值中选择第二个参考背景颜色值,分别将该多个模拟主题颜色值与第二个参考背景颜色值进行合并,得到多个模拟合并颜色值,判断当前得到的该多个模拟合并颜色值中是否存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟合并颜色值,若存在,将第一个参考背景颜色值对应的多个模拟合并颜色值和第二个参考背景颜色值对应的多个模拟合并颜色值确定为多个模拟颜色值,并且停止基于其他参考背景颜色值进行合并的操作。
若不存在,从该排序后的至少一个参考背景颜色值中选择第三个参考背景颜色值,继续进行上述操作,直到当前得到的多个模拟合并颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟合并颜色值为止,或者对至少一个参考背景颜色中的每一个参考背景颜色都进行了上述操作,将得到的所有模拟合并颜色值确定为该多个模拟颜色值。
作为一种示例,当每选择到一个参考背景颜色值,可以根据公式(1)确定该一个参考背景颜色值对应的多个模拟合并颜色值。
其中,在上述公式(1)中,R(C)、G(C)和B(C)可以分别表示C的颜色值的R分量、G分量和B分量,C可以表示模拟合并颜色;R(B)、G(B)和B(B)可以分别表示B的颜色值的R分量、G分量和B分量,α表示B的颜色值的透明度分量,B可以表示模拟主题颜色;R(A)、G(A)和B(A)可以分别表示A的颜色值的R分量、G分量和B分量,A可以表示参考背景颜色,其中,α取值为[0,255],255表示完全不透明,0表示完全透明。
在上述公式(1)中,模拟主题颜色值和该一个参考背景颜色值是已知的,即A和B的颜色值是已知的,基于多个模拟主题颜色值,针对每次选择的一个参考背景颜色值,都可以确定多个模拟合并颜色值。示例性地,假设模拟主题颜色值为(51,105,255,55),参考背景颜色值为(102,105,51),可以得到模拟合并颜色值为(62,105,211)。
作为一种示例,确定多个模拟合并颜色值与目标像素点的颜色值之间的偏移量时,对于多个模拟合并颜色值中的任一模拟合并颜色值,可以计算目标像素点的颜色值的R分量、G分量和B分量分别与该任一模拟合并颜色值的R分量、G分量和B分量的差,将每个差取绝对值,可以得到该目标像素点与该任一模拟合并颜色值的偏移量,对于多个模拟合并颜色值中的每个模拟合并颜色值都进行上述的操作后,可以得到每个模拟合并颜色值与目标像素点的颜色值的偏移量,从而可以确定多个模拟合并颜色值中是否存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟合并颜色值。
也就是说,对于多个模拟合并颜色值中的一个模拟合并颜色值,可以用目标像素点的颜色值的R分量、G分量和B分量分别减去该一个模拟合并颜色值的R分量、G分量和B分量,取绝对值后得到该一个模拟合并颜色值与目标像素点的颜色值的偏移量(dtR,dtG,dtB),当dtR、dtG和dtB均小于或等于偏移量阈值时,确定该一个模拟合并颜色值与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值,按照上述方式,可以确定多个模拟合并颜色值中每个模拟合并颜色值与目标像素点的偏移量,及该偏移量与偏移量阈值之间的大小关系,进而可以确定多个模拟合并颜色值中是否存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟合并颜色值。
示例性地,假设偏移量阈值为2,目标像素点的颜色值为(20,154,255),模拟合并颜色值为(21,152,255),可以得到目标像素点的颜色值与该模拟合并颜色值的偏移量为(1,2,0),dtR小于偏移量阈值,dtG等于偏移量阈值,dtB小于偏移量阈值,可以确定目标像素点的颜色值与该模拟合并颜色值的偏移量小于或等于偏移量阈值。
第二种实现方式:当待换肤颜色值的数量为多个时,从待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值,对于至少一个参考背景颜色值中的每个参考背景颜色值,可以分别将多个模拟主题颜色值与每个参考背景颜色值进行合并,得到每个参考背景颜色值对应的多个模拟合并颜色值,将至少一个参考背景颜色值对应的所有模拟合并颜色值确定为多个模拟颜色值。
也就是说,还可以基于该至少一个参考背景颜色值中的每个参考背景颜色值,确定每个参考背景颜色值对应的多个模拟合并颜色值,然后将所确定的所有模拟合并颜色值确定为多个模拟颜色值,再基于所确定的多个模拟颜色值来判断是否存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值。即在该种实现方式中,不是每次基于一个参考背景颜色值确定多个模拟合并颜色值后就进行判断操作,即不需要判断该多个模拟合并颜色值与目标像素点的颜色值之间的偏移量是否小于或等于偏移量阈值,而是基于所有参考背景颜色值确定该多个模拟颜色值,之后再进行判断操作。
步骤103:当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对目标像素点进行换肤。
作为一种示例,当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,可以认为该目标像素点需要进行换肤。
在一些实施例中,基于参考换肤颜色值对目标像素点进行换肤可以包括如下几个步骤:
(1)分别将目标像素点的颜色值、选择的换肤颜色值和参考换肤颜色值从RGB颜色空间转化至HSV颜色空间。
通过RGB颜色空间很难计算颜色之间的偏移量,但HSV颜色空间的特性决定了可以通过HSV颜色空间的颜色值计算颜色之间的偏移量,所以,如图2所示,可以分别将目标像素点的颜色值、选择的换肤颜色值和参考换肤颜色值从RGB颜色空间转化至HSV颜色空间。
作为一种示例,可以通过公式(2)将颜色值从RGB颜色空间转化至HSV颜色空间。
其中,在上述公式(2)中,设(R,G,B)分别是一个颜色的红、绿和蓝坐标,它们的值分别为[0,1]之间的实数,max表示R、G、B中最大的值,min表示R、G、B中最小的值,这里的H∈[0°,360°],表示颜色的色调,S∈[0,1],表示颜色的饱和度,V∈[0,1],表示颜色的明度。
示例性地,假设在RGB颜色空间,目标像素点的颜色值为(0,0,1),代入上述公式(2)中,可以得到在HSV颜色空间,目标像素点的颜色值为(240°,1,1)。
(3)基于转化后的目标像素点的颜色值与选择的换肤颜色值,确定目标像素点的颜色值与选择的换肤颜色值之间的偏移量。
作为一种示例,可以通过公式(3)计算目标像素点的颜色值与选择的换肤颜色值之间的偏移量。
其中,在上述公式(3)中,dtH表示H分量的偏移量,dtS表示S分量的偏移量,dtV表示V分量的偏移量,H0、S0和V0表示转化后的目标像素点的颜色值的H分量、S分量和V分量,H、S和V表示转化后的选择的换肤颜色值的H分量、S分量和V分量,在上述公式(3)中,H、S和V的取值均为[0,255]。
示例性地,假设转化后的目标像素点的颜色值为(64,128,255),转化后的选择的换肤颜色值为(0,0,250),代入上述公式(3)中,可以得到dtH为25%,dtS为50%,dtV为2%,即目标像素点的颜色值与选择的换肤颜色值之间的偏移量为(25%,50%,2%)。
(4)根据转化后的参考换肤颜色值,以及目标像素点的颜色值与选择的换肤颜色值之间的偏移量,确定目标换肤颜色值。
其中,目标换肤颜色值即为目标像素点的颜色值实际要被替换的颜色值。
作为一种示例,基于转化后的参考换肤颜色值及目标像素点的颜色值与选择的换肤颜色值之间的偏移量,可以通过公式(4)计算目标换肤颜色值。
其中,上述公式(4)中,H2、S2和V2表示目标换肤颜色值的H分量、S分量和V分量,H1、S1和V1表示转化后的参考换肤颜色值的H分量、S分量和V分量,在上述公式(4)中,H的取值为[0°,360°],S和V的取值均为[0,1]。
示例性地,假设转化后的参考换肤颜色值为(240,1,0.5),目标像素点的颜色值与选择的换肤颜色值之间的偏移量为(25%,50%,2%),可以得到目标换肤颜色值为(60,0.5,0.01)。
(5)将目标换肤颜色值从HSV颜色空间转化至RGB颜色空间。
作为一种示例,可以通过公式(5)将目标换肤颜色值从HSV颜色空间转化至RGB颜色空间。
其中,在上述公式(5)中,h、s和v分别表示目标换肤颜色值的H分量、S分量和V分量,(R,G,B)表示RGB颜色空间的目标换肤颜色值。在上述公式(5)中,h的取值为[0°,360°],s和v的取值均为[0,1],计算得到的R、G和B的取值均为[0,1]。
示例性地,假设HSV颜色空间的目标换肤颜色值为(120°,0.5,1),代入上述公式(5)中,可以得到RGB颜色空间的目标换肤颜色值为(0.5,1,0.5)。
(6)将目标像素点的颜色值替换为RGB颜色空间的目标换肤颜色值。
确定了RGB颜色空间的目标换肤颜色值后,可以直接将该目标像素点的颜色值替换为RGB颜色空间的目标换肤颜色值,即将目标像素点的颜色替换成目标换肤颜色,完成了对目标像素点的换肤。
在另一些实施例中,颜色值包括红绿蓝RGB颜色空间的值,该步骤103还可以包括:当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,可以确定目标像素点的颜色值的R分量、G分量和B分量之和,当目标像素点的颜色值的R分量、G分量和B分量之和小于或等于颜色值阈值时,基于参考换肤颜色值对目标像素点进行换肤。
其中,颜色值阈值可以由用户根据实际需求进行设置,也可以由设备基于大数据统计得到,本申请实施例对此不作限定。
作为一种示例,当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,可以将目标像素点的颜色值的R分量、G分量和B分量相加,示例性地,请参考图2,这里可以通过颜色处理模块进行分量叠加,得到目标像素点的R分量、G分量和B分量之和,判断该和与颜色值阈值之间的关系。当目标像素点的颜色值的R分量、G分量和B分量之和小于或等于颜色值阈值时,说明该目标像素点是需要进行换肤的,可以基于参考换肤颜色值对目标像素点进行换肤;当目标像素点的颜色值的R分量、G分量和B分量之和大于颜色值阈值时,说明该目标像素点的颜色可能是由待换肤颜色和其他颜色叠加而成的,但待换肤颜色几乎是透明的,导致叠加后的颜色已经无法用肉眼辨别出与待换肤颜色相近,所以可以确定该目标像素点不需要进行换肤。
示例性地,参见图3,当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,可以根据目标像素点的R分量、G分量和B分量之和判断是否需要对该目标像素点进行换肤,若否,获取下一个像素点的颜色值,若是,基于参考换肤颜色值对该目标像素点进行换肤。
需要说明的是,上述是以待换肤颜色值不包括目标像素点的颜色值时,基于参考换肤颜色值对目标像素点进行换肤为例进行说明的。进一步地,当待换肤颜色值包括当前像素点的颜色值时,可以基于参考换肤颜色值对目标像素点进行换肤,基于参考换肤颜色值对目标像素点进行换肤的具体实现可以参照上文,这里不再重复赘述。
作为一种示例,在图像换肤的过程中,可以对已被换肤处理的像素点的颜色值及该像素点对应的目标换肤颜色值进行标记,并且将已被换肤处理的像素点的颜色值与其对应的目标换肤颜色值对应存储起来。
进一步地,在遍历图像中的每个像素点的过程中,当遍历到目标像素点的颜色值,可以查询图像中是否存在与目标像素点的颜色值相同且已被换肤处理的像素点,当图像中不存在与目标像素点的颜色值相同且已被换肤处理的像素点时,执行当待换肤颜色值不包括目标像素点的颜色值时,基于待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值的操作。
也就是说,当遍历到目标像素点时,可以查询图像中被标记的像素点的颜色值,判断被标记的像素点中是否存在与目标像素点的颜色值相同的像素点,当被标记的像素点中不存在与目标像素点的颜色值相同的像素点时,可以执行当待换肤颜色值不包括目标像素点的颜色值时,基于待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值的操作;当被标记的像素点中存在与目标像素点的颜色值相同的像素点时,可以确定与目标像素点的颜色值相同的像素点的目标换肤颜色值,然后将目标像素点的颜色值直接替换成所确定的目标换肤颜色值。如此,可以节省运算时间,提高图片换肤的效率。
在本申请实施例中,在对任一待处理图像进行图像换肤的过程中,遍历该图像中的每个像素点的颜色值,比较每个像素点的颜色值与待换肤颜色值,当待换肤颜色值不包括目标像素点的颜色值时,可以基于待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,可以认为该目标像素点的颜色值与待换肤颜色值相近,从而可以确定需要对该目标像素点进行换肤处理,这里可以基于参考换肤颜色值对该目标像素点进行换肤。如此,对于多种颜色连接处的像素点,可以通过确定模拟颜色值的方法做进一步判断,以确定与待换肤颜色值是否相近,从而判断是否需要换肤,如此,可以避免整张图片的颜色衔接出现问题,进而增强了图像换肤的效果。
图4是根据一示例性实施例示出的一种图像换肤的装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现。参见图4,该装置可以包括:遍历模块401、确定模块402和换肤模块403。
遍历模块401,用于遍历图像中的每个像素点的颜色值,该图像为任一待处理的图像;
确定模块402,用于当待换肤颜色值不包括目标像素点的颜色值时,基于该待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,该目标像素点为遍历到的任一像素点;
换肤模块403,用于当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对该目标像素点进行换肤。
在本申请一种可能的实现方式中,确定模块402用于:
从该待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
依次从至少一个参考背景颜色值选择一个参考背景颜色值;
当选择到一个参考背景颜色值时,分别将该多个模拟主题颜色值与该一个参考背景颜色值进行合并,得到多个模拟合并颜色值;
当当前得到的多个模拟合并颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于该偏移量阈值的模拟合并颜色值时,将当前得到的以及当前之前得到的所有模拟合并颜色值确定为多个模拟颜色值;或者,当选择到最后一个参考背景颜色值并基于最后一个参考背景颜色值确定多个模拟合并颜色值后,将确定的所有模拟合并颜色值确定为该多个模拟合并颜色值。
在本申请一种可能的实现方式中,确定模块402用于:
从该待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
对于该至少一个参考背景颜色值中的每个参考背景颜色值,分别将该多个模拟主题颜色值与每个参考背景颜色值进行合并,得到每个参考背景颜色值对应的多个模拟合并颜色值;
将该至少一个参考背景颜色值对应的所有模拟合并颜色值确定为多个模拟颜色值。
在本申请一种可能的实现方式中,该颜色值包括红绿蓝RGB颜色空间的值,换肤模块403用于:
当所确定的多个模拟颜色值中存在与该目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,确定该目标像素点的颜色值的R分量、G分量和B分量之和;
当该目标像素点的颜色值的R分量、G分量和B分量之和小于或等于颜色值阈值时,基于参考换肤颜色值对该目标像素点进行换肤。
在本申请一种可能的实现方式中,当该颜色值包括红绿蓝RGB颜色空间的值时,该换肤模块403用于:
分别将该目标像素点的颜色值、选择的换肤颜色值和该参考换肤颜色值从RGB颜色空间转化至HSV颜色空间;
基于转化后的该目标像素点的颜色值与选择的换肤颜色值,确定该目标像素点的颜色值与选择的换肤颜色值之间的偏移量;
根据转化后的参考换肤颜色值,以及该目标像素点的颜色值与选择的换肤颜色值之间的偏移量,确定目标换肤颜色值;
将该目标换肤颜色值从HSV颜色空间转化至RGB颜色空间;
将该目标像素点的颜色值替换为RGB颜色空间的目标换肤颜色值。
在本申请一种可能的实现方式中,该确定模块402还用于:
查询该图像中是否存在与该目标像素点的颜色值相同且已被换肤处理的像素点;
当该图像中不存在与该目标像素点的颜色值相同且已被换肤处理的像素点时,执行该当待换肤颜色值不包括目标像素点的颜色值时,基于该待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值的操作。
在本申请实施例中,在对任一待处理图像进行图像换肤的过程中,遍历该图像中的每个像素点的颜色值,比较每个像素点的颜色值与待换肤颜色值,当待换肤颜色值不包括目标像素点的颜色值时,可以基于待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,当所确定的多个模拟颜色值中存在与目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,可以认为该目标像素点的颜色值与待换肤颜色值相近,从而可以确定需要对该目标像素点进行换肤处理,这里可以基于参考换肤颜色值对该目标像素点进行换肤。如此,对于多种颜色连接处的像素点,可以通过确定模拟颜色值的方法做进一步判断,以确定与待换肤颜色值是否相近,从而判断是否需要换肤,如此,可以避免整张图片的颜色衔接出现问题,进而增强了图像换肤的效果。
需要说明的是:上述实施例提供的图像换肤的装置在对图像进行换肤时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像换肤的装置与图像换肤的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是根据一示例性实施例示出的一种设备500的结构示意图,该设备500可以为终端,也可以为服务器。该设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501和一个或一个以上的存储器502,其中,所述存储器502中存储有至少一条指令,所述至少一条指令由所述处理器501加载并执行以实现上述各个方法实施例提供的图像换肤的方法。
当然,该设备500还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该设备500还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述图1所示实施例提供的图像换肤的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个实施例提供的图像换肤的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种图像换肤的方法,其特征在于,所述方法包括:
遍历图像中的每个像素点的颜色值,所述图像为任一待处理的图像;
当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,所述目标像素点为遍历到的任一像素点;
当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对所述目标像素点进行换肤。
2.如权利要求1所述的方法,其特征在于,当所述待换肤颜色值的数量为多个时,所述基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,包括:
从所述待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
依次从所述至少一个参考背景颜色值选择一个参考背景颜色值;
当选择到一个参考背景颜色值时,分别将所述多个模拟主题颜色值与所述一个参考背景颜色值进行合并,得到多个模拟合并颜色值;
当当前得到的多个模拟合并颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于所述偏移量阈值的模拟合并颜色值时,将当前得到的以及当前之前得到的所有模拟合并颜色值确定为所述多个模拟颜色值;或者,当选择到最后一个参考背景颜色值并基于最后一个参考背景颜色值确定多个模拟合并颜色值后,将确定的所有模拟合并颜色值确定为所述多个模拟合并颜色值。
3.如权利要求1所述的方法,其特征在于,当所述待换肤颜色值的数量为多个时,所述基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,包括:
从所述待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
对于所述至少一个参考背景颜色值中的每个参考背景颜色值,分别将所述多个模拟主题颜色值与每个参考背景颜色值进行合并,得到每个参考背景颜色值对应的多个模拟合并颜色值;
将所述至少一个参考背景颜色值对应的所有模拟合并颜色值确定为所述多个模拟颜色值。
4.如权利要求1-3任一项所述的方法,其特征在于,所述颜色值包括红绿蓝RGB颜色空间的值,所述当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对所述目标像素点进行换肤,包括:
当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,确定所述目标像素点的颜色值的R分量、G分量和B分量之和;
当所述目标像素点的颜色值的R分量、G分量和B分量之和小于或等于颜色值阈值时,基于参考换肤颜色值对所述目标像素点进行换肤。
5.如权利要求2或3所述的方法,其特征在于,当所述颜色值包括红绿蓝RGB颜色空间的值时,所述基于参考换肤颜色值对所述目标像素点进行换肤,包括:
分别将所述目标像素点的颜色值、选择的换肤颜色值和所述参考换肤颜色值从RGB颜色空间转化至HSV颜色空间;
基于转化后的所述目标像素点的颜色值与选择的换肤颜色值,确定所述目标像素点的颜色值与选择的换肤颜色值之间的偏移量;
根据转化后的参考换肤颜色值,以及所述目标像素点的颜色值与选择的换肤颜色值之间的偏移量,确定目标换肤颜色值;
将所述目标换肤颜色值从HSV颜色空间转化至RGB颜色空间;
将所述目标像素点的颜色值替换为RGB颜色空间的目标换肤颜色值。
6.如权利要求1所述的方法,其特征在于,所述当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值之前,还包括:
查询所述图像中是否存在与所述目标像素点的颜色值相同且已被换肤处理的像素点;
当所述图像中不存在与所述目标像素点的颜色值相同且已被换肤处理的像素点时,执行所述当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值的操作。
7.一种图像换肤的装置,其特征在于,所述装置包括:
遍历模块,用于遍历图像中的每个像素点的颜色值,所述图像为任一待处理的图像;
确定模块,用于当待换肤颜色值不包括目标像素点的颜色值时,基于所述待换肤颜色值和至少一个参考背景颜色值,确定多个模拟颜色值,所述目标像素点为遍历到的任一像素点;
换肤模块,用于当所确定的多个模拟颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于偏移量阈值的模拟颜色值时,基于参考换肤颜色值对所述目标像素点进行换肤。
8.如权利要求7所述的装置,其特征在于,所述确定模块用于:
从所述待换肤颜色值中选择一个换肤颜色值,基于选择的换肤颜色值确定多个模拟主题颜色值;
依次从所述至少一个参考背景颜色值选择一个参考背景颜色值;
当选择到一个参考背景颜色值时,分别将所述多个模拟主题颜色值与所述一个参考背景颜色值进行合并,得到多个模拟合并颜色值;
当当前得到的多个模拟合并颜色值中存在与所述目标像素点的颜色值之间的偏移量小于或等于所述偏移量阈值的模拟合并颜色值时,将当前得到的以及当前之前得到的所有模拟合并颜色值确定为所述多个模拟颜色值;或者,当选择到最后一个参考背景颜色值并基于最后一个参考背景颜色值确定多个模拟合并颜色值后,将确定的所有模拟合并颜色值确定为所述多个模拟合并颜色值。
9.一种设备,其特征在于,所述设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现权利要求1-6所述的任一项方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-6所述的任一项方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487060.3A CN112053277B (zh) | 2019-06-05 | 2019-06-05 | 一种图像换肤的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487060.3A CN112053277B (zh) | 2019-06-05 | 2019-06-05 | 一种图像换肤的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112053277A true CN112053277A (zh) | 2020-12-08 |
CN112053277B CN112053277B (zh) | 2023-10-20 |
Family
ID=73609772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910487060.3A Active CN112053277B (zh) | 2019-06-05 | 2019-06-05 | 一种图像换肤的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112053277B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060227149A1 (en) * | 2005-04-08 | 2006-10-12 | Microsoft Corporation | Interpolated color transform for changing color of an application user interface |
US20070002180A1 (en) * | 2005-06-30 | 2007-01-04 | Lexmark International, Inc. | Strength parameter-based color conversion of digital images |
US20070070468A1 (en) * | 2005-09-28 | 2007-03-29 | Kaoru Ogawa | Color adjusting apparatus, display apparatus, printing apparatus, image processing apparatus, color adjustment method, gui display method, and program |
CN104767983A (zh) * | 2015-03-19 | 2015-07-08 | 华为技术有限公司 | 一种图像处理方法及装置 |
WO2017124909A1 (zh) * | 2016-01-21 | 2017-07-27 | 努比亚技术有限公司 | 拍照装置及方法 |
US20190035129A1 (en) * | 2017-07-28 | 2019-01-31 | Baobab Studios Inc. | Systems and methods for real-time complex character animations and interactivity |
-
2019
- 2019-06-05 CN CN201910487060.3A patent/CN112053277B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060227149A1 (en) * | 2005-04-08 | 2006-10-12 | Microsoft Corporation | Interpolated color transform for changing color of an application user interface |
US20070002180A1 (en) * | 2005-06-30 | 2007-01-04 | Lexmark International, Inc. | Strength parameter-based color conversion of digital images |
US20070070468A1 (en) * | 2005-09-28 | 2007-03-29 | Kaoru Ogawa | Color adjusting apparatus, display apparatus, printing apparatus, image processing apparatus, color adjustment method, gui display method, and program |
CN104767983A (zh) * | 2015-03-19 | 2015-07-08 | 华为技术有限公司 | 一种图像处理方法及装置 |
WO2017124909A1 (zh) * | 2016-01-21 | 2017-07-27 | 努比亚技术有限公司 | 拍照装置及方法 |
US20190035129A1 (en) * | 2017-07-28 | 2019-01-31 | Baobab Studios Inc. | Systems and methods for real-time complex character animations and interactivity |
Also Published As
Publication number | Publication date |
---|---|
CN112053277B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10332262B2 (en) | Removal of background information from digital images | |
CN110009712B (zh) | 一种图文排版方法及其相关装置 | |
US10846887B2 (en) | Machine vision processing system | |
CN111489322B (zh) | 给静态图片加天空滤镜的方法及装置 | |
CN113421312B (zh) | 一种对黑白视频的着色方法、装置、存储介质及终端 | |
CN107424137B (zh) | 一种文本增强方法及装置、计算机装置、可读存储介质 | |
KR102311367B1 (ko) | 화상 처리 장치, 화상 처리 방법, 및 프로그램 | |
CN112053419A (zh) | 图像叠加处理方法及装置、存储介质、电子装置 | |
US8285036B2 (en) | Image processing method, image processing apparatus, and computer-readable storage medium for computer program | |
CN112073718B (zh) | 一种电视机花屏检测方法、装置、计算机设备及储存介质 | |
CN110400355B (zh) | 一种单色视频的确定方法、装置、电子设备及存储介质 | |
CN111507895A (zh) | 图像处理方法及装置、计算机存储介质、电子设备 | |
CN109242750B (zh) | 图片签名方法、图片匹配方法、装置、设备及存储介质 | |
US20220004857A1 (en) | Neural network processing apparatus, neural network processing method, and neural network processing program | |
CN112053277A (zh) | 一种图像换肤的方法、装置、设备及存储介质 | |
CN107341770B (zh) | 动态范围扩展高亮信息恢复 | |
JP5457123B2 (ja) | Lutを生成する方法、lutから輝度値を読み出す方法、プログラム及び装置 | |
KR102215607B1 (ko) | 어두운 이미지의 밝기를 개선하기 위한 보정 처리가 가능한 전자 장치 및 그 동작 방법 | |
Iwasa et al. | Color selection and editing for palette-based photo recoloring | |
CN109767379B (zh) | 数据归一化的处理方法、装置、存储介质和电子设备 | |
JP2021047653A (ja) | 学習モデル生成装置、画像補正装置、学習モデル生成プログラム、及び画像補正プログラム | |
CN111724449B (zh) | 图像处理方法、装置及设备 | |
CN117575976B (zh) | 图像阴影的处理方法、装置、设备及存储介质 | |
US11488375B2 (en) | Illumination color prediction method, image processing method, apparatus and storage medium | |
JPWO2019082283A1 (ja) | 画像解析装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |