CN113450431A - 虚拟头发染色方法、装置、电子设备及存储介质 - Google Patents
虚拟头发染色方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113450431A CN113450431A CN202010231760.9A CN202010231760A CN113450431A CN 113450431 A CN113450431 A CN 113450431A CN 202010231760 A CN202010231760 A CN 202010231760A CN 113450431 A CN113450431 A CN 113450431A
- Authority
- CN
- China
- Prior art keywords
- color
- hair
- image
- portrait image
- value
- 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
- 238000004043 dyeing Methods 0.000 title claims abstract description 154
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 230000037308 hair color Effects 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000002156 mixing Methods 0.000 claims abstract description 24
- 238000009877 rendering Methods 0.000 claims description 24
- 230000000694 effects Effects 0.000 abstract description 28
- 239000003086 colorant Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000009499 grossing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004040 coloring Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G06T5/94—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本公开关于一种虚拟头发染色方法、装置、电子设备及存储介质,所述方法包括:获取待处理的人像图像的头发区域的第一掩码图像;接收针对所述头发区域的染发颜色的选定指令,并根据所述选定指令确定目标染发颜色;获取所述目标染发颜色对应的颜色查找表;根据所述第一掩码图像和所述颜色查找表对所述人像图像进行处理,获得保留头发区域的染色人像图像,以及,根据所述第一掩码图像对所述人像图像进行处理,获得保留非头发区域的所述人像图像;将保留头发区域的所述染色人像图像以及保留非头发区域的所述人像图像进行插值混合,得到头发染色图像。本公开基于颜色查找表渲染人像图像,而不是与原有的头发基色混合,使得染发效果更加自然。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种虚拟头发染色方法、装置、电子设备及存储介质。
背景技术
发型以及发色对于一个人的整体气质影响尤其重要,因此能够让用户尝试多种不同颜色的虚拟染发技术逐渐成为一个热点。随着智能终端软硬件的飞速发展,实时图像处理技术在终端的应用变得越来越广,现今已经能够利用图像处理技术进行虚拟头发染色。
目前市面上已经有诸多基于图像处理技术进行的虚拟头发染色方式,但是基本都是单纯将染发颜色映射到用户的头发区域,由于这种染发方式都是基于用户现有的头发颜色(头发基色)进行的,因此染发效果不真实且不自然,不够理想,并且目前虚拟头发染色方式对于浅色的染发效果更是严重,这是因为目前虚拟头发染色方式需要将染发颜色与用户现有的头发颜色进行混合,故而导致还能够比较清晰的看到用户头发基色,尤其对于一些已染深色头发颜色的用户,进行虚拟头发染色效果不尽人意。
发明内容
本公开提供一种虚拟头发染色方法、装置、电子设备及存储介质,以至少解决相关技术中由于用户现有的头发颜色的影响,导致在将染发颜色映射到用户的头发区域时还能够比较清晰的看到用户头发基色,染发效果不真实不自然的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种虚拟头发染色方法,包括:
获取待处理的人像图像的头发区域的第一掩码图像;
接收针对所述头发区域的染发颜色的选定指令,并根据所述选定指令确定目标染发颜色;
获取所述目标染发颜色对应的颜色查找表;所述颜色查找表中包括多个与所述目标染发颜色属于同一色系但灰度值不同的颜色值;
根据所述第一掩码图像和所述颜色查找表对所述人像图像进行处理,获得保留头发区域的染色人像图像,以及,根据所述第一掩码图像对所述人像图像进行处理,获得保留非头发区域的所述人像图像;
将保留头发区域的所述染色人像图像以及保留非头发区域的所述人像图像进行插值混合,得到头发染色图像。
可选地,所述获取待处理的人像图像的头发区域的第一掩码图像包括:
获取待处理的人像图像的头发区域的初始掩码图像;
获取所述初始掩码图像的像素点的第一颜色值;
根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
可选地,所述根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像包括:
获取预设的卷积核算子;
根据所述第一颜色值和所述卷积核算子计算得到目标第一颜色值;
将所述目标第一颜色值替换所述初始掩码图像的像素点的所述第一颜色值,得到第一掩码图像。
可选地,所述根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像包括:
获取所述待处理的人像图像的前一帧人像图像的头发区域的第二掩码图像;
获取所述第二掩码图像的图像权重值;
获取所述第二掩码图像的像素点的第二颜色值;
根据所述图像权重值、所述第一颜色值和所述第二颜色值,计算得到目标第二颜色值;
将所述目标第二颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
可选地,根据所述第一掩码图像和所述颜色查找表对人像图像进行处理,获得保留头发区域的染色人像图像包括:
根据所述第一掩码图像,从所述人像图像中提取出保留头发区域的人像图像;
根据所述颜色查找表渲染所述人像图像得到染色人像图像;其中,所述人像图像为保留头发区域的人像图像;
或者,
根据所述颜色查找表渲染所述人像图像得到染色人像图像;
根据所述第一掩码图像,从所述染色人像图像中提取出保留头发区域的染色人像图像。
可选地,在所述获取待处理的人像图像的头发区域的第一掩码图像之前,所述方法还包括:
针对每个染发颜色制作对应的颜色查找表;
所述针对每个染发颜色制作对应的颜色查找表包括:
获取标准查找表;所述标准查找表的指定坐标的颜色值为预先选取的代表颜色值;
根据所述代表颜色值计算第一灰度值;
获取每个染发颜色对应的多个颜色值;所述每个染发颜色的颜色值属于同一色系但灰度值不同;
根据所述染发颜色的颜色值计算第二灰度值;
根据所述第二灰度值确定匹配的第一灰度值,并将所述第二灰度值对应的颜色值作为关键颜色值,替换所述第一灰度值对应的指定坐标的代表颜色值,得到针对每个染发颜色的颜色查找表。
可选地,所述根据所述颜色查找表渲染所述人像图像得到染色人像图像包括:
从所述颜色查找表中,查找到所述人像图像的像素点相应的关键颜色值;
根据所述关键颜色值渲染所述人像图像的像素点得到染色人像图像。
可选地,所述颜色查找表以R颜色分量、G颜色分量和B颜色分量为坐标轴,所述从所述颜色查找表中,查找所述人像图像的像素点相应的关键颜色值包括:
获取所述人像图像的像素点的颜色值;所述颜色值包括R颜色分量值、G颜色分量值和B颜色分量值;
根据所述R颜色分量值、G颜色分量值和B颜色分量值,在所述颜色查找表中确定目标坐标;
当所述目标坐标是所述指定坐标时,获取所述指定坐标对应的关键颜色值;
当所述目标坐标不是所述指定坐标时,获取距离所述目标坐标最近的指定坐标对应的关键颜色值。
可选地,所述根据所述关键颜色值渲染所述人像图像的像素点得到染色人像图像包括:
当获取到的关键颜色值为所述指定坐标对应的关键颜色值时,将所述关键颜色值替换所述人像图像的像素点的颜色值,得到染色人像图像;
当获取到的关键颜色值为距离所述目标坐标最近的指定坐标对应的关键颜色值时,根据所述关键颜色值对所述人像图像的像素点的颜色值进行插值混合,得到染色人像图像。
根据本公开实施例的第二方面,提供一种虚拟头发染色装置,包括:
掩码图像获取单元,被配置为执行获取待处理的人像图像的头发区域的第一掩码图像;
目标染发颜色确定单元,被配置为执行接收针对所述头发区域的染发颜色的选定指令,并根据所述选定指令确定目标染发颜色;
颜色查找表获取单元,被配置为执行获取所述目标染发颜色对应的颜色查找表;所述颜色查找表中包括多个与所述目标染发颜色属于同一色系但灰度值不同的颜色值;
图像处理单元,被配置为执行根据所述第一掩码图像和所述颜色查找表对所述人像图像进行处理,获得保留头发区域的染色人像图像,以及,根据所述第一掩码图像对所述人像图像进行处理,获得保留非头发区域的所述人像图像;
插值混合单元,被配置为执行将保留头发区域的所述染色人像图像以及保留非头发区域的所述人像图像进行插值混合,得到头发染色图像。
可选地,所述掩码图像获取单元,被配置为执行获取待处理的人像图像的头发区域的初始掩码图像;获取所述初始掩码图像的像素点的第一颜色值;根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
可选地,所述掩码图像获取单元,被配置为执行获取预设的卷积核算子;根据所述第一颜色值和所述卷积核算子计算得到目标第一颜色值;将所述目标第一颜色值替换所述初始掩码图像的像素点的所述第一颜色值,得到第一掩码图像。
可选地,所述掩码图像获取单元,被配置为执行获取所述待处理的人像图像的前一帧人像图像的头发区域的第二掩码图像;获取所述第二掩码图像的图像权重值;获取所述第二掩码图像的像素点的第二颜色值;根据所述图像权重值、所述第一颜色值和所述第二颜色值,计算得到目标第二颜色值;将所述目标第二颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
可选地,所述图像处理单元,被配置为执行根据所述第一掩码图像,从所述人像图像中提取出保留头发区域的人像图像;根据所述颜色查找表渲染所述人像图像得到染色人像图像;其中,所述人像图像为保留头发区域的人像图像;或者,根据所述颜色查找表渲染所述人像图像得到染色人像图像;根据所述第一掩码图像,从所述染色人像图像中提取出保留头发区域的染色人像图像。
可选地,所述装置还包括:颜色查找表制作单元,被配置为执行针对每个染发颜色制作对应的颜色查找表,其中,所述针对每个染发颜色制作对应的颜色查找表包括:获取标准查找表;所述标准查找表的指定坐标的颜色值为预先选取的代表颜色值;根据所述代表颜色值计算第一灰度值;获取每个染发颜色对应的多个颜色值;所述每个染发颜色的颜色值属于同一色系但灰度值不同;根据所述染发颜色的颜色值计算第二灰度值;根据所述第二灰度值确定匹配的第一灰度值,并将所述第二灰度值对应的颜色值作为关键颜色值,替换所述第一灰度值对应的指定坐标的代表颜色值,得到针对每个染发颜色的颜色查找表。
可选地,所述图像处理单元,被配置为执行从所述颜色查找表中,查找到所述人像图像的像素点相应的关键颜色值;根据所述关键颜色值渲染所述人像图像的像素点得到染色人像图像。
可选地,所述颜色查找表以R颜色分量、G颜色分量和B颜色分量为坐标轴,所述图像处理单元,被配置为执行获取所述人像图像的像素点的颜色值;所述颜色值包括R颜色分量值、G颜色分量值和B颜色分量值;根据所述R颜色分量值、G颜色分量值和B颜色分量值,在所述颜色查找表中确定目标坐标;当所述目标坐标是所述指定坐标时,获取所述指定坐标对应的关键颜色值;当所述目标坐标不是所述指定坐标时,获取距离所述目标坐标最近的指定坐标对应的关键颜色值。
可选地,所述图像处理单元,被配置为执行当获取到的关键颜色值为所述指定坐标对应的关键颜色值时,将所述关键颜色值替换所述人像图像的像素点的颜色值,得到染色人像图像;当获取到的关键颜色值为距离所述目标坐标最近的指定坐标对应的关键颜色值时,根据所述关键颜色值对所述人像图像的像素点的颜色值进行插值混合,得到染色人像图像。
根据本公开实施例的第三方面,提供一种电子设备,包括处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上所述的虚拟头发染色方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上所述的虚拟头发染色方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的虚拟头发染色方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开的实施例获取待处理的人像图像的头发区域的第一掩码图像,接收针对头发区域的染发颜色的选定指令,确定目标染发颜色,并从目标染发颜色对应的颜色查找表图像中获取到与目标染发颜色属于同一色系但灰度值不同的颜色值,根据第一掩码图像和所述颜色查找表获得保留头发区域的染色人像图像,以及,根据第一掩码图像获得保留非头发区域的人像图像,最后将保留头发区域的染色人像图像,以及,保留非头发区域的人像图像进行插值混合,得到头发染色图像,以完成人像图像的头发区域的虚拟头发染色。本公开的实施例在确定目标染发颜色后,基于目标染发颜色对应的颜色查找表获取到颜色值渲染人像图像得到染色人像图像,而非与原有的头发基色混合,因此所得染色人像图像的头发区域不会受到用户头发基色的影响,染发效果更加真实,此外,颜色查找表的颜色值具有不同灰度值,因此渲染后的图像不是统一的颜色而是具有一定的暗亮差别,使得染发效果更加自然,更好地满足用户需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种电子设备的内部结构图。
图2是根据一示例性实施例示出的一种虚拟头发染色方法的流程图。
图3是根据一示例性实施例示出的一种掩码图像的示意图。
图4是根据一示例性实施例示出的一种基于掩码图像提取的头发区域的示意图。
图5是一种目前虚拟头发染色的拓扑示意图。
图6是根据一示例性实施例示出的一种虚拟头发染色的拓扑示意图。
图7是根据一示例性实施例示出的一种虚拟头发染色装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的虚拟头发染色方法,可以应用于如图1所示的设备100中。设备100可以是移动端,如:移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图1,设备100可以包括以下一个或多个组件:处理组件101、存储器102、电源组件103、多媒体组件104、音频组件105、输入/输出(I/O)的接口106、传感器组件107以及通信组件108。对这些组件详细说明如下:
处理组件101通常控制设备100的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件101可以包括一个或多个处理器110来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件101可以包括一个或多个模块,便于处理组件101和其他组件之间的交互。例如,处理组件101可以包括多媒体模块,以方便多媒体组件104和处理组件101之间的交互。
存储器102被配置为存储各种类型的数据以支持在设备100的操作。这些数据的示例包括用于在设备100上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件103为设备100的各种组件提供电力。电源组件103可以包括电源管理系统,一个或多个电源,及其他与为设备100生成、管理和分配电力相关联的组件。
多媒体组件104包括在所述设备100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件104包括一个前置摄像头和/或后置摄像头。当设备100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件105被配置为输出和/或输入音频信号。例如,音频组件105包括一个麦克风(MIC),当设备100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或经由通信组件108发送。在一些实施例中,音频组件105还包括一个扬声器,用于输出音频信号。
I/O接口106为处理组件101和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件107包括一个或多个传感器,用于为设备100提供各个方面的状态评估。例如,传感器组件107可以检测到设备100的打开/关闭状态,组件的相对定位,例如所述组件为设备100的显示器和小键盘,传感器组件107还可以检测设备100或设备100一个组件的位置改变,用户与设备100接触的存在或不存在,设备100方位或加速/减速和设备100的温度变化。传感器组件107可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件107还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件107还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件108被配置为便于设备100和其他设备之间有线或无线方式的通信。设备100可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件108经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件108还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在一示例性实施例中,设备100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述虚拟头发染色方法。
图2是根据一示例性实施例示出的一种虚拟头发染色方法的流程图,虚拟头发染色方法可以用于如图1所示的设备100中,如图2所示,包括以下步骤:
在步骤S201中,获取待处理的人像图像的头发区域的第一掩码图像。
在拍摄过程中可以获取到人像图像,并对人像图像添加各种特效。比如用户在社交平台(比如短视频平台)上可以利用平台的拍摄功能进行拍摄得到待处理的人像图像,然后进一步利用拍摄功能附加的染发特效对头发区域进行虚拟头发染色。
在虚拟染发过程中,对移动端静态、亦或实时拍摄的人像图像进行语义分割,可以提取出头发区域的掩码图像。其中,掩码图像(mask)是由0和1组成的一个二进制图像,基于掩码图像可以对待处理的人像图像(全部或局部)进行遮挡,来控制图像的处理区域或处理过程。
在本公开的实施例中,可以将待处理的人像图像输入到神经网络模型中,然后神经网络模型可以输出人像图像的头发区域的第一掩码图像,其中,该神经网络模型可以是卷积神经网络(CNN,Convolutional Neural Networks)模型等其他模型,本实施例对此不加以限制。
基于第一掩码图像可以从人像图像中获取到头发区域的轮廓,其中,第一掩码图像需要保证头发区域的整体轮廓较为清晰,这样才能够根据第一掩码图像从人像图像中获取到轮廓清晰的头发区域,保证后续虚拟头发染色时的整体染发效果更加真实自然。
参照图3,所示为人像图像的头发区域的掩码图像,图4为基于图3的掩码图像获取的人像图像的头发区域,可以看出,由于图3的掩码图像轮廓非常清晰,因此基于图3掩码图像所获取的人像图像的头发区域轮廓也是非常清晰的。
在步骤S202中,接收针对所述头发区域的染发颜色的选定指令,并根据所述选定指令确定目标染发颜色。
在使用染发特效时,可以在电子设备屏幕上展示多种染发颜色供用户选择,比如粉色、黄色、绿色和蓝色等等。用户可以根据自己需求,从多个种染发颜色中通过点击屏幕或者按压屏幕等选定操作,在后台将接收到相应的选定指令,根据选定指令确定出目标染发颜色。比如,用户可以选定粉色作为目标染发颜色。
在步骤S203中,获取所述目标染发颜色对应的颜色查找表;所述颜色查找表中包括多个与所述目标染发颜色属于同一色系但灰度值不同的颜色值。
颜色值也即是RGB值,比如颜色值可以为RGB(240,196,219)。需要说明的是,本实施例除了适用于RGB模式的人像图像,也同样适用于其他颜色模式的人像图像处理,比如CMYK模式的人像图像,只需要将CMYK模式的人像图像转换为RBG模式。
颜色查找表也可以称为显示查找表(LUT,LookUpTable),本实施例的颜色查找表为3D LUT,可以将颜色值转化成对应的另一个颜色值,可以起到突出图像的有用信息、增强图像的光对比度等作用。
在本实施例中,针对每个染发颜色都对应制作有相应的颜色查找表,其中,在每个染发颜色的颜色查找表中,包括多个与染发颜色属于同一色系但灰度值(亮度值)不同的颜色值,比如,假设染发颜色是粉色,那么这个粉色会具有多个都是粉色系的颜色值,比如淡粉,深粉,并且这些粉色系的颜色值对应的灰度值是不同的,因此即便是属于同一色系,但是各个颜色值也会存在明暗差别。因此在确定目标染发颜色后,可以从获取到目标染发颜色对应的颜色查找表。
在步骤S204中,根据所述第一掩码图像和所述颜色查找表对人像图像进行处理,获得保留头发区域的染色人像图像,以及,根据所述第一掩码图像对所述人像图像进行处理,获得保留非头发区域的所述人像图像。
在本实施例中,可以根据第一掩码图像和目标染发颜色对应的颜色查找表对人像图像进行渲染,得到基于目标染发颜色染色的保留头发区域的染色人像图像。其中,在对人像图像进行渲染时,可以先基于第一掩码图像提取人像图像的头发区域后只对人像图像的头发区域进行染色,也可以直接对人像图像的全部区域进行染色得到染色人像图像后再基于第一掩码图像提取染色人像图像的头发区域,只要最后能够得到保留头发区域的染色人像图像即可,本实施例对此并不需要加以限制。
此外,本实施例还将基于第一掩码图像将人像图像中的头发区域屏蔽掉,获得保留非头发区域的人像图像。
在步骤S205中,将保留头发区域的所述染色人像图像以及保留非头发区域的所述人像图像进行插值混合,得到头发染色图像。
将保留头发区域的染色人像图像以及保留非头发区域的人像图像进行插值混合,可以得到头发染色图像,该头发染色图像中只有头发区域染上了目标染发颜色,实现了对于用户头发区域的虚拟头发染色。
在一个可选示例中,可以通过如下公式实现在步骤S205中的插值混合:
Gresult=(Gbase*mask)+((1.0-mask)*Glut)
其中,Gresult为头发染色图像,Gbase为待处理的人像图像,mask为第一掩码图像,Glut为染色人像图像,(Gbase*mask)为基于第一掩码图像保留了非头发区域的待处理的人像图像,((1.0-mask)*Glut)为基于第一掩码图像保留了头发区域的染色人像图像。
上述虚拟头发染色方法中,首选获取人像图像的头发区域的第一掩码图像,然后在确定针对人像图像的头发区域的目标染发颜色后,获取目标染发颜色对应的颜色查找表,并根据颜色查找表的颜色值和第一掩码图像渲染人像图像得到保留头发区域的染色人像图像,以及基于第一掩码图像将人像图像中的头发区域屏蔽掉得到保留非头发区域的人像图像,随后再结合保留非头发区域的人像图像和保留头发区域的染色人像图像进行插值混合得到头发染色图像,因此所得头发染色图像的头发区域不会受到用户头发基色的影响,染发效果更加真实,此外,颜色查找表的颜色值具有不同灰度值,因此渲染后的图像不是完全统一的颜色而是具有一定的暗亮差别,使得染发效果更加自然,更好地满足用户需求。
在一示例性实施例中,在步骤S201中,所述获取待处理的人像图像的头发区域的第一掩码图像具体可以通过以下步骤实现:
获取待处理的人像图像的头发区域的初始掩码图像;
获取所述初始掩码图像的像素点的第一颜色值;
根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
人像图像在拍摄过程中,由于各种原因,比如手机晃动,可能在人像图像的头发区域中存在噪声区域,为了能够得到更好的染发效果,可以在获取到人像图像的头发区域的初始掩码图像时,根据初始掩码图像的像素点的第一颜色值计算出对应的目标颜色值,并并将目标颜色值替换初始掩码图像的像素点的第一颜色值,得到消除噪声区域的第一掩码图像。
在一示例性实施例中,所述根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像具体可以通过以下步骤实现:
获取预设的卷积核算子;
根据所述第一颜色值和所述卷积核算子计算得到目标第一颜色值;
将所述目标第一颜色值替换所述初始掩码图像的像素点的所述第一颜色值,得到第一掩码图像。
在通过手机等移动端对人像图像进行实时渲染,往往获取的头发区域的初始掩码图像会有识别不准确、较为浅色的边缘,这些是由于移动端硬件问题造成的,本实施例可以通过模糊处理初始掩码图像,得到消除边缘(即噪声区域)的第一掩码图像,在后续渲染时可以降低噪声区域的影响。
在实际中,模糊处理的方式有很多种,一种方式应用卷积公式如下的公式,对初始掩码图像进行模糊处理:
其中,G(i,j)为目标第一颜色值,h为卷积核算子,K和I为初始掩码图像的像素点的纵横值。应用上述卷积公式,将初始掩码图像的像素点的第一颜色分量值逐个与卷积核算子相乘并求和,得到的结果即为目标第一颜色值,将目标第一颜色值替换初始掩码图像对应的像素点的第一颜色值,得到消除噪声区域的第一掩码图像。本实施例通过合理调整合适的卷积核算子,还可以得到不同的图像处理效果。
在另一示例性实施例中,在步骤S201中,所述根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像具体可以通过以下步骤实现:
获取所述待处理的人像图像的前一帧人像图像的头发区域的第二掩码图像;
获取所述第二掩码图像的图像权重值;
获取所述第二掩码图像的像素点的第二颜色值;
根据所述图像权重值、所述第一颜色值和所述第二颜色值,计算得到目标第二颜色值;
将所述目标第二颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
在手机等移动端对人像图像进行实时渲染时,用户轻微晃动头部,会导致头发区域的初始掩码图像出现不同程度的抖动,对最终的染发效果影响很大。因此,本实施例将获取到人像图像的上一帧人像图像的头发区域的第二掩码图像,然后根据第二掩码图像对于初始掩码图像进行平滑处理,得到消除抖动(即噪声区域)的第一掩码图像,在后续渲染时可以降低噪声区域的影响。
在具体实现中,平滑处理的方式可以有多种,其中可以通过如下的公式对初始掩码图像进行平滑处理:
在移动端,头发区域的语义分割往往没有那么准确,因此产生一定的噪声区域,本实施例通过对初始掩码图像进行上述的模糊处理和平滑处理,对这些噪声区域进行剔除,保证染发效果只应用在头发区域,提高虚拟染发的染发效果。
需要说明的是,对于头发区域的掩码图像的模糊、平滑处理可以采用除上述的其他方式实现,本实施例对此并不限制。比如可以对掩码图像进行高通滤波,过滤掉晃动闪烁的噪声区域。
在一个实施例中,在步骤S204中,根据所述第一掩码图像和所述颜色查找表对人像图像进行处理,获得保留头发区域的染色人像图像具体可以通过以下步骤实现:
根据所述第一掩码图像,从所述人像图像中提取出保留头发区域的人像图像;
根据所述颜色查找表渲染所述人像图像得到染色人像图像;其中,所述人像图像为保留头发区域的人像图像;
或者,
根据所述颜色查找表渲染所述人像图像得到染色人像图像;
根据所述第一掩码图像,从所述染色人像图像中提取出保留头发区域的染色人像图像。
在本实施例中,可以是先对人像图像进行渲染然后在提取头发区域,也可以是先对人像图像提取头发区域然后再针对头发区域进行渲染,无论先执行哪个步骤都可以得到保留头发区域的人像图像。
具体地,在得到人像图像的头发区域的第一掩码图像后,首先根据第一掩码图像从人像图像中提取出保留头发区域的人像图像,然后再对保留头发区域的人像图像根据颜色查找表进行渲染得到保留头发区域的染色人像图像。或者,在得到人像图像的头发区域的第一掩码图像后,首先根据颜色查找表进行渲染得到染色人像图像,然后在再根据第一掩码图像从染色人像图像中提取出保留头发区域的染色人像图像。
在一个实施例中,所述方法还包括:针对每个染发颜色制作对应的颜色查找表。
在本实施例中,针对每个染发颜色都对应制作有相应的颜色查找表,其中,在每个染发颜色的颜色查找表中,包括多个与染发颜色属于同一色系但灰度值(亮度值)不同的颜色值,比如,假设染发颜色是粉色,那么这个粉色会具有多个都是粉色系的颜色值,比如淡粉,深粉,并且这些粉色系的颜色值对应的灰度值是不同的,因此即便是属于同一色系,但是各个颜色值也会存在明暗差别。
在一个实施例中,所述针对每个染发颜色制作对应的颜色查找表包括:
获取标准查找表;所述标准查找表的指定坐标的颜色值为预先选取的代表颜色值;
根据所述代表颜色值计算第一灰度值;
获取每个染发颜色对应的多个颜色值;所述每个染发颜色的颜色值属于同一色系但灰度值不同;
根据所述染发颜色的颜色值计算第二灰度值;
根据所述第二灰度值确定匹配的第一灰度值,并将所述第二灰度值对应的颜色值作为关键颜色值,替换所述第一灰度值对应的指定坐标的代表颜色值,得到针对每个染发颜色的颜色查找表。
在一个可选示例中,可以通过灰度值匹配的方式来制作颜色查找表。
本实施例颜色查找表的制作,可以在标准查找表的基础上进行染发颜色值的颜色查找表的制作,该标准查找表上所有的指定坐标都将映射成同一种色系的颜色值。
具体的,在制作每个染发颜色对应的颜色查找表时,首先获取到标准查找表,该标准图像的指定坐标的颜色值为预先选取具有代表性的代表颜色值,可以由相关开发人员根据实际需求进行选取,然后计算每个指定坐标的代表颜色值的第一灰度值,对于每个染发颜色,分别获取每个染发颜色对应的多个颜色值,比如针对粉色,可以获取都是粉色系的多个颜色分量值,然后计算每个染发颜色的多个颜色值的第二灰度值,将第二灰度值与第一灰度值进行比对,确定出与第二灰度值匹配的第一灰度值(比如两个灰度值均为125则可以视为是匹配的),然后将该第二灰度值的颜色值作为关键颜色值填入到对应的第一灰度值的指定坐标,从而完成针对染发颜色的颜色查找表的制作。
通过灰度值匹配方式可以快速制作每个染发颜色的颜色查找表,在实际应用中,相关开发人员还可以根据实际需求对于颜色查找表的颜色值进行调整,使得在颜色查找表用于对人像图像渲染时效果更好。
在一个实施例中,所述根据所述颜色查找表渲染所述人像图像得到染色人像图像包括:
从所述颜色查找表中,查找到所述人像图像的像素点相应的关键颜色值;
根据所述关键颜色值渲染所述人像图像的像素点得到染色人像图像。
在具体实现中,可以获取到人像图像的像素点的颜色值,然后根据该颜色值在颜色查找表中得到关键颜色分量值,然后就可以将关键颜色分量值渲染到人像图像相应的像素点,得到渲染成目标染发颜色的染色人像图像。
需要说明的是,由于本实施例是直接将颜色查找表的关键颜色分量值渲染到人像图像的像素点直接上色,而非与原有的头发基色混合,因此可以忽略用户的头发基色,那么不管用户所选定的染发颜色值是何种,会别无二致的映射在用户的头发区域上,使得染色效果不受到头发基色影响。
在一个实施例中,所述颜色查找表以R颜色分量、G颜色分量和B颜色分量为索引坐标轴,所述从所述颜色查找表中,查找所述人像图像的像素点相应的关键颜色值包括:
获取所述人像图像的像素点的颜色值;所述颜色值包括R颜色分量值、G颜色分量值和B颜色分量值;
根据所述R颜色分量值、G颜色分量值和B颜色分量值,在所述颜色查找表中确定目标坐标;
当所述目标坐标是所述指定坐标时,获取所述指定坐标对应的关键颜色值;
当所述目标坐标不是所述指定坐标时,获取距离所述目标坐标最近的指定坐标对应的关键颜色值。
在具体应用中,可以将颜色查找表视为一个记录了关键颜色值的三维坐标,在查找时可以根据像素点的颜色值查找到相应的关键颜色分量值。比如可以先根据B颜色分量值查找到G和R颜色分量对应的平面,然后在这个平面上基于R颜色分量值和G颜色分量值再查找到相应的关键颜色值。
其中,颜色查找表在指定坐标处存放了关键颜色值,因此根据像素点的颜色值的R颜色分量值、G颜色分量值和B颜色分量值在三维坐标中所确定的目标坐标,如果不是指定坐标时,可以获取距离目标坐标最近的指定坐标中的关键颜色值,如果是指定坐标,则直接获取指定坐标中的关键颜色值。
在一个实施例中,在步骤S205中,所述根据所述关键颜色值渲染所述人像图像的像素点得到染色人像图像包括:
当获取到的关键颜色值为所述指定坐标对应的关键颜色值时,将所述关键颜色值替换所述人像图像的像素点的颜色值,得到染色人像图像;
当获取到的关键颜色值为距离所述目标坐标最近的指定坐标对应的关键颜色值时,根据所述关键颜色值对所述人像图像的像素点的颜色值进行插值混合,得到染色人像图像。
在本实施例中,如果获取到的关键颜色值为指定坐标对应的关键颜色值,则直接将关键颜色值替换在人像图像中对应像素点的颜色值,如果获取到的关键颜色值为距离目标坐标最近的指定坐标对应的关键颜色值,则需要利用这些关键颜色值进行插值混合。在处理完所有的像素点后可以得到染色人像图像。
为了便于本领域技术人员深入理解本实施例,以下将结合具体示例进行说明。
参照图5,所示为一种目前虚拟头发染色的拓扑示意图,如图5,虚拟染发时执行:501,获取头发区域的染发颜色值;502,获取头发区域的头发基色;503,利用人像图像的头发区域的掩码图像,将染发颜色值和人像图像中头发区域的头发基色进行混合,实现虚拟头发染色。
易于理解,上述虚拟头发染色方式受到用户的头发基色的影响,对于染发颜色值可以根据需要将染发颜色值转变为不同的颜色模型,比如RGB、HSV、LAB,尽管各有不同,但这种虚拟头发染色技术,无论何种方式将染发颜色值与头发基色混合,都会显示出头发区域的头发基色,导致染色效果不真实且不自然。
具体来说,假设染发颜色值与用户的头发基色进行混合的,可以采用如下公式进行颜色混合得到染发人像图像:
Creslut=1.0-(1.0-Cbase)*(1.0-Coverlay)
其中,Creslut为颜色混合后的染发人像图像,Cbase为染发颜色值,Coverlay为人像图像*mask的值,mask为人像图像的掩码图像。
将染发颜色值与用户头发基色进行颜色混合时,由于用户的头发基色不同,那么颜色混合的染发效果也往往不同。比如,由于往往亚洲人头发多为黑色、棕色等较深的颜色,头发基色对于染发效果影响很大,染发效果比较不理想,而对于已浅色染发的用户或者欧美用户,头发基色对于染发效果影响较小,染发效果比较理想,尤其在染发颜色值时为浅色时,对于深色头发的用户影响尤为巨大。可见,尽管是同样的染发颜色值,但效果会千人前面,每个人的最终效果各不相同。
参照图6,所示为本实施例一种虚拟头发染色的拓扑示意图,主要内容包括:601,获取染发颜色值对应的颜色查找表;602,对人像图像的头发区域的掩码图像进行平滑处理;603,对人像图像的头发区域的掩码图像进行模糊处理;604,利用头发区域的掩码图像提取人像图像的头发区域,然后在颜色查找表映射对应的颜色分量值至人像图像的头发区域的像素点,完成虚拟头发染色。
本实施例是基于头发区域的像素点的颜色值,在颜色查找表中查找到对应的关键颜色分量值渲染对应的像素点,故而能够解决对用户进行虚拟染发时用户头发基色不友好的问题。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图7是根据一示例性实施例示出的一种虚拟头发染色装置框图。参照图7,该装置包括掩码图像获取单元701,目标染发颜色确定单元702,颜色查找表获取单元703,图像处理单元704和插值混合单元705。
掩码图像获取单元701,被配置为执行获取待处理的人像图像的头发区域的第一掩码图像;
目标染发颜色确定单元702,被配置为执行接收针对所述头发区域的染发颜色的选定指令,并根据所述选定指令确定目标染发颜色;
颜色查找表获取单元703,被配置为执行获取所述目标染发颜色对应的颜色查找表;所述颜色查找表中包括多个与所述目标染发颜色属于同一色系但灰度值不同的颜色值;
图像处理单元704,被配置为执行根据所述第一掩码图像和所述颜色查找表对所述人像图像进行处理,获得保留头发区域的染色人像图像,以及,根据所述第一掩码图像对所述人像图像进行处理,获得保留非头发区域的所述人像图像;
插值混合单元705,被配置为执行将保留头发区域的所述染色人像图像以及保留非头发区域的所述人像图像进行插值混合,得到头发染色图像。
可选地,所述掩码图像获取单元701,被配置为执行获取待处理的人像图像的头发区域的初始掩码图像;获取所述初始掩码图像的像素点的第一颜色值;根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
可选地,所述掩码图像获取单元701,被配置为执行获取预设的卷积核算子;根据所述第一颜色值和所述卷积核算子计算得到目标第一颜色值;将所述目标第一颜色值替换所述初始掩码图像的像素点的所述第一颜色值,得到第一掩码图像。
可选地,所述掩码图像获取单元701,被配置为执行获取所述待处理的人像图像的前一帧人像图像的头发区域的第二掩码图像;获取所述第二掩码图像的图像权重值;获取所述第二掩码图像的像素点的第二颜色值;根据所述图像权重值、所述第一颜色值和所述第二颜色值,计算得到目标第二颜色值;将所述目标第二颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
可选地,所述图像处理单元704,被配置为执行根据所述第一掩码图像,从所述人像图像中提取出保留头发区域的人像图像;根据所述颜色查找表渲染所述人像图像得到染色人像图像;其中,所述人像图像为保留头发区域的人像图像;或者,根据所述颜色查找表渲染所述人像图像得到染色人像图像;根据所述第一掩码图像,从所述染色人像图像中提取出保留头发区域的染色人像图像。
可选地,所述装置还包括:颜色查找表制作单元,被配置为执行针对每个染发颜色制作对应的颜色查找表,其中,所述针对每个染发颜色制作对应的颜色查找表包括:获取标准查找表;所述标准查找表的指定坐标的颜色值为预先选取的代表颜色值;根据所述代表颜色值计算第一灰度值;获取每个染发颜色对应的多个颜色值;所述每个染发颜色的颜色值属于同一色系但灰度值不同;根据所述染发颜色的颜色值计算第二灰度值;根据所述第二灰度值确定匹配的第一灰度值,并将所述第二灰度值对应的颜色值作为关键颜色值,替换所述第一灰度值对应的指定坐标的代表颜色值,得到针对每个染发颜色的颜色查找表。
可选地,所述图像处理单元704,被配置为执行从所述颜色查找表中,查找到所述人像图像的像素点相应的关键颜色值;根据所述关键颜色值渲染所述人像图像的像素点得到染色人像图像。
可选地,所述颜色查找表以R颜色分量、G颜色分量和B颜色分量为坐标轴,所述图像处理单704元,被配置为执行获取所述人像图像的像素点的颜色值;所述颜色值包括R颜色分量值、G颜色分量值和B颜色分量值;根据所述R颜色分量值、G颜色分量值和B颜色分量值,在所述颜色查找表中确定目标坐标;当所述目标坐标是所述指定坐标时,获取所述指定坐标对应的关键颜色值;当所述目标坐标不是所述指定坐标时,获取距离所述目标坐标最近的指定坐标对应的关键颜色值。
可选地,所述图像处理单元704,被配置为执行当获取到的关键颜色值为所述指定坐标对应的关键颜色值时,将所述关键颜色值替换所述人像图像的像素点的颜色值,得到染色人像图像;当获取到的关键颜色值为距离所述目标坐标最近的指定坐标对应的关键颜色值时,根据所述关键颜色值对所述人像图像的像素点的颜色值进行插值混合,得到染色人像图像。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一示例性实施例中,还提供了一种电子设备,其结构示意图可以如图1所示,该电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如前述实施例所述的虚拟头发染色方法。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器102,上述指令可由设备100的处理器120执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一示例性实施例中,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行如上实施例中所述的虚拟头发染方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种虚拟头发染色方法,其特征在于,所述方法包括:
获取待处理的人像图像的头发区域的第一掩码图像;
接收针对所述头发区域的染发颜色的选定指令,并根据所述选定指令确定目标染发颜色;
获取所述目标染发颜色对应的颜色查找表;所述颜色查找表中包括多个与所述目标染发颜色属于同一色系但灰度值不同的颜色值;
根据所述第一掩码图像和所述颜色查找表对所述人像图像进行处理,获得保留头发区域的染色人像图像,以及,根据所述第一掩码图像对所述人像图像进行处理,获得保留非头发区域的所述人像图像;
将保留头发区域的所述染色人像图像以及保留非头发区域的所述人像图像进行插值混合,得到头发染色图像。
2.根据权利要求1所述的虚拟头发染色方法,其特征在于,所述获取待处理的人像图像的头发区域的第一掩码图像包括:
获取待处理的人像图像的头发区域的初始掩码图像;
获取所述初始掩码图像的像素点的第一颜色值;
根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
3.根据权利要求2所述的虚拟头发染色方法,其特征在于,所述根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像包括:
获取预设的卷积核算子;
根据所述第一颜色值和所述卷积核算子计算得到目标第一颜色值;
将所述目标第一颜色值替换所述初始掩码图像的像素点的所述第一颜色值,得到第一掩码图像。
4.根据权利要求2所述的虚拟头发染色方法,其特征在于,所述根据所述第一颜色值计算目标颜色值,并将所述目标颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像包括:
获取所述待处理的人像图像的前一帧人像图像的头发区域的第二掩码图像;
获取所述第二掩码图像的图像权重值;
获取所述第二掩码图像的像素点的第二颜色值;
根据所述图像权重值、所述第一颜色值和所述第二颜色值,计算得到目标第二颜色值;
将所述目标第二颜色值替换所述初始掩码图像的像素点的第一颜色值,得到第一掩码图像。
5.根据权利要求1所述的虚拟头发染色方法,其特征在于,根据所述第一掩码图像和所述颜色查找表对人像图像进行处理,获得保留头发区域的染色人像图像包括:
根据所述第一掩码图像,从所述人像图像中提取出保留头发区域的人像图像;
根据所述颜色查找表渲染所述人像图像得到染色人像图像;其中,所述人像图像为保留头发区域的人像图像;
或者,
根据所述颜色查找表渲染所述人像图像得到染色人像图像;
根据所述第一掩码图像,从所述染色人像图像中提取出保留头发区域的染色人像图像。
6.根据权利要求5所述的虚拟头发染色方法,其特征在于,在所述获取待处理的人像图像的头发区域的第一掩码图像之前,所述方法还包括:
针对每个染发颜色制作对应的颜色查找表;
所述针对每个染发颜色制作对应的颜色查找表包括:
获取标准查找表;所述标准查找表的指定坐标的颜色值为预先选取的代表颜色值;
根据所述代表颜色值计算第一灰度值;
获取每个染发颜色对应的多个颜色值;所述每个染发颜色的颜色值属于同一色系但灰度值不同;
根据所述染发颜色的颜色值计算第二灰度值;
根据所述第二灰度值确定匹配的第一灰度值,并将所述第二灰度值对应的颜色值作为关键颜色值,替换所述第一灰度值对应的指定坐标的代表颜色值,得到针对每个染发颜色的颜色查找表。
7.根据权利要求6所述的虚拟头发染色方法,其特征在于,所述根据所述颜色查找表渲染所述人像图像得到染色人像图像包括:
从所述颜色查找表中,查找到所述人像图像的像素点相应的关键颜色值;
根据所述关键颜色值渲染所述人像图像的像素点得到染色人像图像。
8.一种虚拟头发染色装置,其特征在于,所述装置包括:
掩码图像获取单元,被配置为执行获取待处理的人像图像的头发区域的第一掩码图像;
目标染发颜色确定单元,被配置为执行接收针对所述头发区域的染发颜色的选定指令,并根据所述选定指令确定目标染发颜色;
颜色查找表获取单元,被配置为执行获取所述目标染发颜色对应的颜色查找表;所述颜色查找表中包括多个与所述目标染发颜色属于同一色系但灰度值不同的颜色值;
图像处理单元,被配置为执行根据所述第一掩码图像和所述颜色查找表对所述人像图像进行处理,获得保留头发区域的染色人像图像,以及,根据所述第一掩码图像对所述人像图像进行处理,获得保留非头发区域的所述人像图像;
插值混合单元,被配置为执行将保留头发区域的所述染色人像图像以及保留非头发区域的所述人像图像进行插值混合,得到头发染色图像。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的虚拟头发染色方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的虚拟头发染色方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010231760.9A CN113450431B (zh) | 2020-03-27 | 2020-03-27 | 虚拟头发染色方法、装置、电子设备及存储介质 |
US17/137,917 US11410345B2 (en) | 2020-03-27 | 2020-12-30 | Method and electronic device for processing images |
US17/845,856 US20220327749A1 (en) | 2020-03-27 | 2022-06-21 | Method and electronic device for processing images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010231760.9A CN113450431B (zh) | 2020-03-27 | 2020-03-27 | 虚拟头发染色方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113450431A true CN113450431A (zh) | 2021-09-28 |
CN113450431B CN113450431B (zh) | 2023-07-07 |
Family
ID=77808040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010231760.9A Active CN113450431B (zh) | 2020-03-27 | 2020-03-27 | 虚拟头发染色方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11410345B2 (zh) |
CN (1) | CN113450431B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207381A1 (zh) * | 2022-04-29 | 2023-11-02 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113450431B (zh) * | 2020-03-27 | 2023-07-07 | 北京达佳互联信息技术有限公司 | 虚拟头发染色方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007087123A (ja) * | 2005-09-22 | 2007-04-05 | Fujifilm Corp | 画像補正方法および装置並びにプログラム |
US20120075331A1 (en) * | 2010-09-24 | 2012-03-29 | Mallick Satya P | System and method for changing hair color in digital images |
US20170206678A1 (en) * | 2014-10-02 | 2017-07-20 | Henkel Ag & Co. Kgaa | Method and data processing device for computer-assisted hair coloring guidance |
WO2019079895A1 (en) * | 2017-10-24 | 2019-05-02 | Modiface Inc. | SYSTEM AND METHOD FOR IMAGE PROCESSING THROUGH DEEP NEURAL NETWORKS |
CN109903257A (zh) * | 2019-03-08 | 2019-06-18 | 上海大学 | 一种基于图像语义分割的虚拟头发染色方法 |
CN110807780A (zh) * | 2019-10-23 | 2020-02-18 | 北京达佳互联信息技术有限公司 | 图像处理方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3405068A4 (en) * | 2016-01-21 | 2019-12-11 | Alison M. Skwarek | VIRTUAL HAIR CONSULTATION |
EP3296898A1 (en) * | 2016-09-15 | 2018-03-21 | The Procter and Gamble Company | Method and computer-readable medium for simulating a plurality of fibers |
DE102017223420A1 (de) * | 2017-12-20 | 2019-06-27 | Henkel Ag & Co. Kgaa | Verbesserte Tönungsshampoos |
US10515456B2 (en) * | 2018-03-22 | 2019-12-24 | Adobe Inc. | Synthesizing hair features in image content based on orientation data from user guidance |
CN111914604A (zh) * | 2019-05-10 | 2020-11-10 | 丽宝大数据股份有限公司 | 将头发颜色套用至眉毛的扩充实境显示方法 |
CN113450431B (zh) * | 2020-03-27 | 2023-07-07 | 北京达佳互联信息技术有限公司 | 虚拟头发染色方法、装置、电子设备及存储介质 |
-
2020
- 2020-03-27 CN CN202010231760.9A patent/CN113450431B/zh active Active
- 2020-12-30 US US17/137,917 patent/US11410345B2/en active Active
-
2022
- 2022-06-21 US US17/845,856 patent/US20220327749A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007087123A (ja) * | 2005-09-22 | 2007-04-05 | Fujifilm Corp | 画像補正方法および装置並びにプログラム |
US20120075331A1 (en) * | 2010-09-24 | 2012-03-29 | Mallick Satya P | System and method for changing hair color in digital images |
US20170206678A1 (en) * | 2014-10-02 | 2017-07-20 | Henkel Ag & Co. Kgaa | Method and data processing device for computer-assisted hair coloring guidance |
WO2019079895A1 (en) * | 2017-10-24 | 2019-05-02 | Modiface Inc. | SYSTEM AND METHOD FOR IMAGE PROCESSING THROUGH DEEP NEURAL NETWORKS |
CN109903257A (zh) * | 2019-03-08 | 2019-06-18 | 上海大学 | 一种基于图像语义分割的虚拟头发染色方法 |
CN110807780A (zh) * | 2019-10-23 | 2020-02-18 | 北京达佳互联信息技术有限公司 | 图像处理方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207381A1 (zh) * | 2022-04-29 | 2023-11-02 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11410345B2 (en) | 2022-08-09 |
US20210304455A1 (en) | 2021-09-30 |
CN113450431B (zh) | 2023-07-07 |
US20220327749A1 (en) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110675310B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN108986199B (zh) | 虚拟模型处理方法、装置、电子设备及存储介质 | |
CN109345485B (zh) | 一种图像增强方法、装置、电子设备及存储介质 | |
CN109672830B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
JP2016531362A (ja) | 肌色調整方法、肌色調整装置、プログラム及び記録媒体 | |
CN107967459B (zh) | 卷积处理方法、装置及存储介质 | |
CN107015648B (zh) | 图片处理方法及装置 | |
CN105528765B (zh) | 处理图像的方法及装置 | |
CN108122195B (zh) | 图片处理方法及装置 | |
US20220327749A1 (en) | Method and electronic device for processing images | |
CN107424130B (zh) | 图片美颜方法和装置 | |
CN105791790A (zh) | 图像处理方法及装置 | |
CN111935418B (zh) | 视频处理方法及装置、电子设备和存储介质 | |
CN113570581A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN110502993B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
WO2023142645A1 (zh) | 图像处理方法、装置、电子设备、存储介质和计算机程序产品 | |
CN106469446B (zh) | 深度图像的分割方法和分割装置 | |
CN112184540A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN113160099B (zh) | 人脸融合方法、装置、电子设备、存储介质及程序产品 | |
CN111260581B (zh) | 图像处理方法、装置及存储介质 | |
CN113763287A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN115423678A (zh) | 图像处理方法及装置 | |
CN114418923A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN116721114A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111310600A (zh) | 一种图像处理方法、装置、设备及介质 |
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 |