CN111127591A - 图像染发处理方法、装置、终端和存储介质 - Google Patents
图像染发处理方法、装置、终端和存储介质 Download PDFInfo
- Publication number
- CN111127591A CN111127591A CN201911346930.1A CN201911346930A CN111127591A CN 111127591 A CN111127591 A CN 111127591A CN 201911346930 A CN201911346930 A CN 201911346930A CN 111127591 A CN111127591 A CN 111127591A
- Authority
- CN
- China
- Prior art keywords
- hair
- user image
- image
- area
- region
- 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
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/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
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Abstract
本申请提供了一种图像染发处理方法、装置、终端和存储介质,涉及图像处理技术领域。所述方法包括:获取用户图像;确定用户图像中的头发区域;根据头发区域的明度,对头发区域进行漂色处理,得到漂色处理后的用户图像;对漂色处理后的用户图像进行颜色调整处理,得到输出图像。相比于相关技术中,只是在目标图像的原有光照条件下进行发色调整处理。本申请实施例提供的技术方案,在对不同发色进行染发处理时,考虑头发区域的明度,将头发区域的明度调整至目标明度范围,然后再进行发色调整处理,从而使得对不同发色的用户呈现的染发效果相一致。
Description
技术领域
本申请实施例涉及图像处理技术领域,特别涉及一种图像染发处理方法、装置、终端和存储介质。
背景技术
随着互联网技术的发展,基于图像的各种特效处理功能也随之流行。例如,在相关应用程序提供了调整图像中用户头发颜色以实现虚拟染发功能。
在相关技术中,图像虚拟染发处理可以包括以下几个步骤:首先,获取目标图像;然后,从目标图像中提取待调整区域;之后,对待调整区域进行发色调整处理,从而得到发色调整后的目标图像。
在上述相关技术中,只是在目标图像的原有光照条件下进行发色调整处理,而对于不同发色,若进行相同的发色调整处理,染发效果会受到用户原始发色的影响,导致不同发色的用户会呈现染发效果不一致的问题,如用户原始发色为深色,则染发效果较暗;用户原始发色为浅色,则染发效果较亮。
发明内容
本申请实施例提供了一种图像染发处理方法、装置、终端和存储介质,可用于解决相关技术中,只是在目标图像的原有光照条件下进行发色调整处理,导致不同发色的用户会呈现染发效果不一致的问题。所述技术方案如下:
一方面,本申请实施例提供了一种图像染发处理方法,所述方法包括:
获取用户图像;
确定所述用户图像中的头发区域;
根据所述头发区域的明度,对所述头发区域进行漂色处理,得到漂色处理后的用户图像;
对所述漂色处理后的用户图像进行颜色调整处理,得到输出图像。
另一方面,本申请实施例提供了一种图像染发处理方法,所述方法包括:
显示图像拍摄界面;
通过摄像头采集用户图像;
在所述图像拍摄界面中显示对所述用户图像中的头发区域进行染色处理后的用户图像;
其中,所述染色处理是指根据所述头发区域的明度,对所述头发区域进行漂色处理和颜色调整处理。
另一方面,本申请实施例提供了一种图像染发处理装置,所述装置包括:
图像获取模块,用于获取用户图像;
区域确定模块,用于确定所述用户图像中的头发区域;
漂色处理模块,用于根据所述头发区域的明度,对所述头发区域进行漂色处理,得到漂色处理后的用户图像;
颜色调整模块,用于对所述漂色处理后的用户图像进行颜色调整处理,得到输出图像。
另一方面,本申请实施例提供了一种图像染发处理装置,所述装置包括:
界面显示模块,用于显示图像拍摄界面;
图像采集模块,用于通过摄像头采集用户图像;
染色处理模块,用于在所述图像拍摄界面中显示对所述用户图像中的头发区域进行染色处理后的用户图像;
其中,所述染色处理是指根据所述头发区域的明度,对所述头发区域进行漂色处理和颜色调整处理。
再一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的图像染发处理方法。
再一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的图像染发处理方法。
还一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述图像染发处理方法。
本申请实施例提供的技术方案可以包括如下有益效果:
根据用户图像中,头发区域的明度对头发区域进行漂色处理,进一步对漂色处理的头发区域进行颜色调整处理,得到最终染发处理后的用户图像。相比于相关技术中,只是在目标图像的原有光照条件下进行发色调整处理。本申请实施例提供的技术方案,在对不同发色进行染发处理时,考虑头发区域的明度,将头发区域的明度调整至目标明度范围,然后再进行发色调整处理,从而使得对不同发色的用户呈现的染发效果相一致。
附图说明
图1是本申请一个实施例提供的图像染发处理方法的流程图;
图2是本申请另一个实施例提供的图像染发处理方法的流程图;
图3示例性示出了一种头发分割图的示意图;
图4示例性示出了一种深色颜色转换表的示意图;
图5示例性示出了一种浅色颜色转换表的示意图;
图6示例性示出了一种确定渲染区域的示意图;
图7示例性示出了一种翻折染发效果素材的示意图;
图8示例性示出了一种颜色转换表的示意图;
图9示例性示出了染发效果素材的示意图;
图10示例性示出了一种获取渲染图像的示意图;
图11示例性示出了获取输出图像的示意图;
图12是本申请另一个实施例提供的图像染发处理方法的流程图;
图13示例性示出了一种染色处理后的用户图像的示意图;
图14是本申请一个实施例提供的图像染发处理装置的框图;
图15是本申请另一个实施例提供的图像染发处理装置的框图;
图16是本申请另一个实施例提供的图像染发处理装置的框图;
图17是本申请一个实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的图像染发处理方法可以应用于终端中,该终端可以是手机、平板电脑、智能相机、可穿戴设备等具有图像拍摄功能的电子设备。
终端中安装有目标应用程序,该目标应用程序具有图像染发功能。该目标应用程序可以是发型设计类应用程序、视频类应用程序、游戏类应用程序、即时通讯类应用程序等等。
下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图1,其示出了本申请一个实施例提供的图像染发处理方法的流程图。在本实施例中,主要以该方法应用于上文介绍的终端中来举例说明。该方法可以包括如下几个步骤:
步骤101,获取用户图像。
终端可以获取用户图像,该用户图像中包括头发区域。
可选地,上述用户图像的来源可以是终端实时采集的,也可以是终端预先存储的,还可以是其它图像采集设备采集后发送给终端的,还可以是从网络端下载的,本申请实施例对此不作限定。
步骤102,确定用户图像中的头发区域。
在获取到上述用户图像之后,终端可以确定用户图像中的头发区域,以便对该头发区域进行处理。上述头发区域是用户头发在用户图像中占据的图像区域。
对于同一用户的用户图像,头发区域的形状可以随用户头部运动而改变;对于不同发型用户的用户图像,上述头发区域的形状也不相同。本申请实施例头发区域的形状不作限定。
步骤103,根据头发区域的明度,对头发区域进行漂色处理,得到漂色处理后的用户图像。
在确定上述用户图像中的头发区域之后,进一步可以确定头发区域的明度,并基于该头发区域的明度,进行漂色处理,得到漂色处理后的用户图像。上述头发区域的明度是指头发区域的亮暗程度,明度也可以称为亮度。
上述漂色处理用于将头发区域的明度调整至目标明度范围,以使得不同发色在进行相同的发色调整处理后,染发效果不受原始发色的影响,也就是对不同发色在进行相同的发色调整处理后,得到的染发效果的亮暗差异较小,不会存在较大的反差,导致给用户以进行了不同的发色调整处理的感受。
步骤104,对漂色处理后的用户图像进行颜色调整处理,得到输出图像。
在得到上述漂色处理后的用户图像之后,可以对其进行颜色调整处理,得到输出图像。该输出图像中头发区域的颜色与初始获取到的用户图像中头发区域的颜色不同。
可选地,上述输出图像中,左侧头发区域和右侧头发区域具有不同的颜色效果;其中,上述左侧头发区域是指左半边人脸对应的头发区域,右侧头发区域是指右半边人脸对应的头发区域。左半边人脸是指包括左侧眼睛、左侧半个鼻子、左侧半个嘴唇的人脸;右半边人脸是指包括右侧眼睛、右侧半个鼻子、右侧半个嘴唇的人脸。
可选地,左侧头发区域的颜色效果可以是单色颜色效果,也可以是多色颜色效果。类似地,右侧头发区域的颜色效果可以是单色颜色效果,也可以是多色颜色效果。
例如,采集的用户图像中左侧头发区域和右侧头发区域均为黑色,之后,可以将左侧头发区域的颜色调整为蓝色,右侧头发区域调整为红色,也就是说,输出图像中,左侧头发区域的颜色效果为蓝色,右侧头发区域的颜色效果为红色。
又例如,采集的用户图像中左侧头发区域和右侧头发区域均为黑色,之后,可以将左侧头发区域的颜色调整为蓝色和紫色相间,右侧头发区域调整为红色和黄色相间,也就是说,输出图像中,左侧头发区域的颜色效果为蓝色和紫色相间,右侧头发区域的颜色效果为红色和黄色相间。
综上所述,本申请实施例提供的技术方案,根据用户图像中,头发区域的明度对头发区域进行漂色处理,进一步对漂色处理的头发区域进行颜色调整处理,得到最终染发处理后的用户图像。相比于相关技术中,只是在目标图像的原有光照条件下进行发色调整处理。本申请实施例提供的技术方案,在对不同发色进行染发处理时,考虑头发区域的明度,将头发区域的明度调整至目标明度范围,然后再进行发色调整处理,从而使得对不同发色的用户呈现的染发效果相一致。
请参考图2,其示出了本申请另一个实施例提供的图像染发处理方法的流程图。在本实施例中,主要以该方法应用于上文介绍的终端中来举例说明。该方法可以包括如下几个步骤:
步骤201,获取用户图像。
此步骤与图1实施例中步骤101的内容相同或类似,此处不再赘述。
可选地,上述用户图像为图像序列中的任意一张图像。上述图像序列包括连续的多张图像。
步骤202,获取用户图像的头发分割图。
头发分割图是指用户图像对应的,且分割有头发区域和非头发区域的图像。
可选地,可以调用图像分割模型对用户图像进行处理,得到头发分割图;其中,图像分割模型用于分割用户图像中的头发区域和非头发区域。该图像分割模型可以是MobileNetV2模型,还可以是Resnet50模型,还可以是MobileNetV1模型,还可以是DeepLabv3+模型等等,本申请实施例对此不作限定。
示例性地,如图3所示,其示例性示出了一种头发分割图的示意图。图3(a)部分为用户图像31,图3(b)部分为用户图像的头发分割图32。
步骤203,对用户图像的头发分割图进行平滑处理,得到平滑处理后的用户图像的头发分割图。
考虑到图像序列中,分别对每张图像的头发分割图,会导致头发分割图之间缺乏连续性,每张头发分割图的头发区域会存在较大差异,从而会导致最终的染发效果不稳定。因此,终端可以对用户图像的头发分割图进行平滑处理,基于该平滑处理后的用户图像的头发分割图进行后续处理。
其中,上述平滑处理后的用户图像的头发分割图中头发区域与用户图像的邻近用户图像的头发分割图中头发区域相对稳定。也就是说,平滑处理后的用户图像的头发分割图中头发区域与用户图像的邻近用户图像的头发分割图中头发区域之间差异较小。
上述邻近用户图像是指图像序列中,位于用户图像之前,且与用户图像邻近的图像。例如,假设用户图像为图像序列中的第5张图像,则用户图像的邻近图像可以包括图像序列中的第4张图像、第3张图像和第2张图像。
可选地,上述对用户图像的头发分割图进行平滑处理,得到平滑处理后的用户图像的头发分割图,包括以下几个步骤:
(1)获取邻近用户图像的头发分割图和平滑处理后的邻近用户图像的头发分割图。
对用户图像的头发分割图进行平滑处理依赖于邻近用户图像的头发分割图和平滑处理后的邻近用户图像的头发分割图,因此,终端可以获取邻近用户图像的头发分割图和平滑处理后的邻近用户图像的头发分割图。
(2)构建分割平滑队列。
终端可以构建分割平滑队列,该分割平滑队列用于容纳头发分割图和平滑处理后的头发分割图。上述分割平滑队列中包括邻近用户图像的头发分割图、平滑处理后的邻近用户图像的头发分割图和用户图像的头发分割图。
可选地,上述分割平滑队列可以容纳预设数量张图像,该预设数量可以根基实际需求进行设定,本申请实施例对此不作限定。例如,该预设数量为5,也就是说,分割平滑队列中可以容纳5张图像。
(3)响应于分割平滑队列中图像的数量小于预设数量,将用户图像的头发分割图置于分割平滑队列的末尾。
在获取到用户图像的头发分割图之后,可以检测分割平滑队列中图像的数量当分割平滑队列中存放的图像的数量小于上述预设数量时,可以将用户图像的头发分割图置于分割平滑队列的末尾。例如,假设上述预设数量为5,在获取到用户图像的头发分割图后,若检测到分割平滑队列中图像的数量小于5,则可以将用户图像的头发分割图置于分割平滑队列的末尾。
可选地,响应于分割平滑队列中图像的数量大于或等于预设数量,删除分割平滑队列中,位于队列首位的邻近用户图像的头发分割图、平滑处理后的邻近用户图像的头发分割图,并将用户图像的头发分割图置于分割平滑队列的末尾。
(4)在将用户图像的头发分割图置于分割平滑队列的末尾之后,对邻近用户图像的头发分割图、平滑处理后的邻近用户图像的头发分割图和用户图像的头发分割图的像素值进行加权计算,得到平滑处理后的用户图像的头发分割图。
在将上述用户图像的头发分割图置于分割平滑队列的末尾之后,可以基于分割平滑队列中包括的邻近用户图像的头发分割图、平滑处理后的邻近用户图像的头发分割图以及用户图像的头发分割图,对用户图像的头发分割图进行平滑处理,得到上述平滑处理后的用户图像的头发分割图。上述对用户图像的头发分割图进行平滑处理可以是对邻近用户图像的头发分割图、平滑处理后的邻近用户图像的头发分割图和用户图像的头发分割图的像素值进行加权计算。
示例性地,假设分割平滑队列的预设数量为5,也就是说,在最开始的时候这个队列为空,但是该分割平滑队列能容纳的图像的数量是5。对邻近用户图像的头发分割图、平滑处理后的邻近用户图像的头发分割图和用户图像的头发分割图的像素值进行加权计算,得到的平滑处理后的用户图像的头发分割图可以表示为:1)如果队列中只有1张图像,即用户图像的头发分割图,那么平滑处理后的用户图像的头发分割图就是该用户图像的头发分割图;2)如果队列中有3张图像,即图像序列中,位于用户图像上一张邻近用户图像的头发分割图以及平滑处理后的邻近用户图像的头发分割图,那么这三张图像可以按照以下公式进行像素值的加权平均:0.25*A[0]+0.25*A[1]+0.5*A[2],其中A[0]表示上一张邻近用户图像的头发分割图,A[1]是平滑处理后的上一张邻近用户图像的头发分割图,A[2]是用户图像的头发分割图;3)如果队列中有5张图像,那么这五张图像按照以下公式进行像素值的加权平均:0.125*A[0]+0.125*A[1]+0.125*A[2]+0.125*A[3]+0.5*A[4],其中A[0]是上上一张邻近用户图像的头发分割图,A[1]是平滑处理后的上上一张邻近用户图像的头发分割图,A[2]是上一张邻近用户图像的头发分割图,A[3]是平滑处理后的上一张邻近用户图像的头发分割图,A[4]是用户图像的头发分割图。
可选地,在得到上述平滑处理后的用户图像的头发分割图之后,若分割平滑队列中图像的数量仍然小于预设数量,则可以将该平滑处理后的用户图像的头发分割图置于分割平滑队列的末尾;若分割平滑队列中图像的数量大于或等于预设数量,则可以删除分割平滑队列中,位于队列首位的邻近用户图像的头发分割图、平滑处理后的邻近用户图像的头发分割图,并将平滑处理后的用户图像的头发分割图置于分割平滑队列的末尾。从而,完成整个头发分割图像的平滑处理以及分割平滑队列的更新。
通过上述对用户图像的头发分割图进行平滑处理,使得用户图像的头发分割图依赖于邻近用户图像的头发分割图和平滑处理后的邻近图像的头发分割图;也就是对图像序列来说,头发分割图利用图像序列中用户图像的邻近用户图像信息,进行平滑处理,减小了用户图像与邻近用户图像的头发区域之间的差异,进一步使得染发效果用户图像与邻近用户图像之间相对稳定。
步骤204,从平滑处理后的用户图像的头发分割图中确定用户图像中的头发区域。
在获取到上述平滑处理后的用户图像的头发分割图之后,可以从该平滑处理后的用户图像的头发分割图中确定用户图像中的头发区域;并基于此头发区域进行后续处理。
步骤205,确定头发区域的明度和用户图像中除头发区域之外的其它区域的明度。
上述头发区域的明度是指头发区域的亮暗程度。上述除头发区域之外的其它区域的明度用于反映环境的明度。
上述确定头发区域的明度可以包括:在从上述平滑处理后的用户图像的头发分割图中确定用户图像中的头发区域之后,可以取头发区域中每个像素的RGB的最大值,并计算头发区域所有像素值的平均值,基于上述最大值和平均值得到头发区域的明度。
上述确定用户图像中除头发区域之外的其它区域的明度的方式,可以与上述确定头发区域的明度的方式相同,也可以不同,本申请实施例对此不作限定。
可选地,上述除头发区域之外的其它区域可以是人脸脸颊区域。在这种情况下,可以根据人脸点位确定出上述人脸脸颊区域。
步骤206,根据头发区域的明度对头发区域进行颜色转换,得到颜色转换后的用户图像。
在确定上述头发区域的明度之后,可以基于该头发区域的明度对头发区域进行颜色转换,得到颜色转换后的用户图像。
可选地,上述根据头发区域的明度对头发区域进行颜色转换,得到颜色转换后的用户图像,包括以下几个步骤:
(1)根据头发区域的明度,确定发色类型。
在本申请实施例中,上述发色类型包括深色类型和浅色类型。
上述根据头发区域的明度,确定发色类型,可以包括:若上述头发区域的明度小于第一预设明度,则确定发色类型为深色类型;若上述头发区域的明度大于第二预设明度,则确定发色类型为浅色类型。上述第一预设明度和第二预设明度可以相同,也可以不同,本申请实施例对此不作限定。
示例性地,上述第一预设明度为60,上述第二预设明度为90,也就是说,若头发区域的明度小于60,则确定发色类型为深色类型;若头发区域的明度大于90,则确定发色类型为浅色类型。
(2)响应于发色类型为深色类型,对头发区域进行提亮处理,得到提亮处理后的用户图像。
当确定发色类型为深色类型时,可以对头发区域进行提亮处理,该提亮处理用于提高头发区域的明度,从而得到提亮处理后的用户图像。
可选地,上述对头发区域进行提亮处理,得到提亮处理后的用户图像,可以包括以下步骤:在用户图像上叠加一张半透明的白色素材,得到叠加后的用户图像;确定叠加后的用户图像中除了高光和阴影之外的中性色部分的黑色部分;将上述黑色部分的明度降低第一预设百分比(如15%),得到上述提亮处理后的用户图像。
可选地,上述对头发区域进行提亮处理,得到提亮处理后的用户图像,可以包括:采用深色颜色转换表,对头发区域进行提亮处理,得到提亮处理后的用户图像。上述深色颜色转换表用于在保持头发区域的原始明暗关系下,对头发区域中像素的像素值进行转换,提高头发区域的亮度。进一步,对于头发区域中的目标像素的像素值,根据深色颜色转换表,确定提亮处理后的目标像素的像素值;基于提亮处理后的目标像素的像素值,得到提亮处理后的用户图像。示例性地,如图4所示,其示例性示出了一种深色颜色转换表41的示意图。
(3)响应于发色类型为浅色类型,对头发区域进行压暗处理,得到压暗处理后的用户图像。
当确定发色类型为浅色类型时,可以对头发区域进行压暗处理,该压暗处理用于降低头发区域的明度,从而得到压暗处理后的用户图像。
可选地,上述对头发区域进行压暗处理,得到压暗处理后的用户图像,可以包括以下步骤:对头发区域进行曲线压暗调节,得到调节后的用户图像;确定叠加后的用户图像中除了高光和阴影之外的中性色部分的黑色部分;将上述黑色部分的明度提高第二预设百分比(如8%),得到上述压暗处理后的用户图像。
可选地,上述对头发区域进行压暗处理,得到压暗处理后的用户图像,可以包括:采用浅色颜色转换表,对头发区域进行压暗处理,得到压暗处理后的用户图像。上述浅色颜色转换表用于在保持头发区域的原始明暗关系下,对头发区域中像素的像素值进行转换,降低头发区域的亮度。进一步,对于头发区域中的目标像素的像素值,根据浅色颜色转换表,确定压暗处理后的目标像素的像素值;基于压暗处理后的目标像素的像素值,得到压暗处理后的用户图像示例性地,如图5所示,其示例性示出了一种浅色颜色转换表51的示意图。
步骤207,根据头发区域的明度、其它区域的明度、用户图像和颜色转换后的用户图像,生成漂色处理后的用户图像。
之后,可以基于上述头发区域的明度、其它区域的明度、用户图像和颜色转换后的用户图像,生成漂色处理后的用户图像。
可选地,上述头发区域的明度、其它区域的明度、用户图像和颜色转换后的用户图像,生成漂色处理后的用户图像,包括以下几个步骤:
(1)根据头发区域的明度和其它区域的明度,确定用户图像和颜色转换后的用户图像的融合权重值。
根据上述头发区域的明度和其它区域的明度,可以计算得到用户图像和颜色转换后的用户图像的融合权重值;其中,用户图像和颜色转换后的用户图像的融合权重值之和为1。
可选地,上述头发区域的明度、其它区域的明度以及用户图像和颜色转换后的用户图像的融合权重值之间存在对应关系,基于该对应关系可以计算得到用户图像和颜色转换后的用户图像的融合权重值。
示例性地,以其它区域为人脸区域为例,上述头发区域的明度、人脸区域的明度以及用户图像和颜色转换后的用户图像的融合权重值之间存在对应关系,可以表示为:
对于发色类型为深色类型的头发区域:alpha=(A-200)/500+(60-B)/25;
对于发色类型为浅色类型的头发区域:alpha=(200-A)/200+(B-90)/25;
其中,A表示人脸区域的明度,B表示头发区域的明度,alpha表示颜色转换后的用户图像的融合权重值,进一步用户图像的融合权重值可以表示为1-alpha。
(2)基于用户图像和颜色转换后的用户图像的融合权重值,对用户图像和颜色转换后的用户图像进行像素融合处理,生成漂色处理后的用户图像。
在确定上述融合权重值之后,可以对用户图像和颜色转换后的用户图像进行像素融合处理,从而生成漂色处理后的用户图像。
示例性地,假设用户图像中像素的像素值为x1,颜色转换后的用户图像中像素的像素值为x2,则可以采用如下公式进行像素融合处理:
x=x1*(1-alpha)+x2*alpha;
其中,x表示漂色处理后的用户图像中像素的像素值,alpha表示颜色转换后的用户图像的融合权重值,1-alpha表示用户图像的融合权重值。
上述通过引入其它区域的明度,结合头发区域的明度和其它区域的明度,对头发区域进行漂色处理,例如,对于深色类型的头发,其它区域的越暗,漂色的程度越低,表示整体环境较暗,因此不用提亮太多;而对于浅色类型的头发,其它区域的越亮,表示整体环境较亮,因此也不用压暗太多。
由此在进行渲染之前,对深色类型和浅色类型的头发,结合其它区域(如人脸区域)的明度,也就是环境明度,可以使得不同发色的头发得到相对比较统一的染发效果。
步骤208,确定漂色处理后的用户图像中的渲染区域。
在获取到上述漂色处理后的用户图像之后,可以确定该漂色处理后的用户图像中的渲染区域。上述渲染区域包括漂色处理后的用户图像中的头发区域。
可选地,渲染区域是能将漂色处理后的用户图像中全部头发区域包括在内的矩形区域。进一步,上述渲染区域是指包括漂色处理后的用户图像中的头发区域的最小矩形区域。从而可以减少运算量,提高渲染效率。
在一些其它示例中,渲染区域还可以是圆形区域、椭圆区域或者多边形区域,本申请实施例对此不作限定。
可选地,上述确定漂色处理后的用户图像中的渲染区域,可以包括以下几个步骤:
(1)确定漂色处理后的用户图像中的人脸偏移角度。
人脸偏移角度用于表征人脸中心线偏移重力方向的角度。
上述人脸偏移角度可以是正值,也可以是负值。在一个示例中,当人脸偏移角度为正值,表示人脸中心线向右偏移一定角度;当人脸偏移角度为负值,表示人脸中心线向左偏移一定角度。在另一个示例中,当人脸偏移角度为正值,表示人脸中心线向左偏移一定角度;当人脸偏移角度为负值,表示人脸中心线向右偏移一定角度。
可选地,上述人脸偏移角度可以是人脸翻滚角,人脸翻滚角的取值范围为[0,180],[0,-180]。
可选地,若人脸偏移角度不区分正负,也就是说,根据该人脸偏移角度并不能得到人脸偏移方向。在这种情况下,还可以确定用户图像中的人脸偏移方向。
(2)根据人脸偏移角度,确定人脸中心线。
在确定人脸偏移角度之后,结合重力方向,即可确定出用户图像中的人脸中心线。
(3)根据人脸中心线和头发区域,确定渲染区域。
上述人脸中心线用于划分左侧人脸区域和右侧人脸区域,进一步划分左侧头发区域和右侧头发区域。在确定人脸中心中心线之后,结合用户图像中的头发区域,即可确定出渲染区域。
可选地,上述渲染区域可以是一个包括头发区域的矩形框。在这种情况下,上述人脸中心线垂直于渲染区域的顶边和底边。需要说明的一点是,上述渲染区域的顶边是位于渲染区域的边中位于头顶上方的边;上述渲染区域的底边是指渲染区域的边中与顶边相平行的边。
示例性地,如图6所示,其示例性示出了一种确定渲染区域的示意图。如图6中的(a)部分所示,人脸偏移角度为-3度,也就是说,人脸中心线向右偏移重力方向3度,从而,可以根据该人脸偏移角度和重力方向,确定出人脸中心线61。之后,如图6中的(b)部分所示,根据该人脸中心线61,可以找到一个矩形,使得该人脸中心线垂直于矩形的顶边和底边,且包括用户图像中的头发区域,该矩形框即可作为渲染区域62。
可选地,上述确定漂色处理后的用户图像中的渲染区域之后,还可以包括以下几个步骤:
(1)根据人脸点位确定出漂色处理后的用户图像中的人脸区域。
上述人脸点位可以是人脸关键点,如眉心点、人中点和额头中心点等。
可选地,可以通过人脸检测确定上述人脸点位;还可以通过调用人脸识别模型来确定上述人脸点位。本申请实施例对此不作限定。
(2)按照人脸区域,对染发效果素材进行等比例缩放,得到缩放后染发效果素材。
对于不同的用户图像,其人脸区域的尺寸可能不同,而染发效果素材的尺寸是固定不变的,为了确保染发效果素材与人脸区域的尺寸相匹配,可以对染发效果素材进行等比例缩放,得到上述缩放后染发效果素材。
可选地,可以按照人脸区域中较长的边长,对染发效果素材进行等比例缩放。
(3)从缩放后的染发效果素材中裁剪出与人脸区域尺寸相匹配的素材,得到裁剪后的染发效果素材。
在得到上述缩放后染发效果素材之后,可以从缩放后的染发效果素材中裁剪出与人脸区域尺寸相匹配的素材,如裁剪出与人脸区域尺寸相同的素材,得到裁剪后的染发效果素材。
(4)将裁剪后的染发效果素材放置于人脸区域上方,得到放置于人脸区域的染发效果素材。
在得到上述裁剪后的染发效果素材之后,可以将该裁剪后的染发效果素材放置于人脸区域上方,从而得到放置于人脸区域的染发效果素材。
(5)将放置于人脸区域的染发效果素材进行翻折,直至覆盖渲染区域,得到覆盖渲染区域的染发效果素材。
接下来,可以将放置于人脸区域的染发效果素材进行翻折,直至染发效果素材覆盖渲染区域,得到覆盖渲染区域的染发效果素材。
示例性地,如图7所示,其示例性示出了一种翻折染发效果素材的示意图。首先,确定出人脸区域C;按照人脸区域,对染发效果素材71进行等比例缩放,得到缩放后染发效果素材72;然后,将缩放后的染发效果素材72根据人脸偏移角度进行旋转,得到旋转后的染发效果素材73,然后从旋转后的染发效果素材73中裁剪出与人脸区域尺寸相匹配的素材,得到裁剪后的染发效果素材74;将裁剪后的染发效果素材74放置于人脸区域上方,并将放置于人脸区域的染发效果素材进行翻折,如将C区域沿着左侧长边翻折到D区域;同理,按照翻折的原理,可以从C区域沿着上侧短边翻折到F区域,从C区域沿着下侧短边翻折到J区域,从C区域沿着右侧长边翻折到H区域。再往外扩,根据F与J的长边向两侧翻折得到E区域和G区域,以及K区域和I区域,不断的翻折,直至覆盖渲染区域,得到覆盖渲染区域的染发效果素材。
步骤209,根据预设颜色转换表,将渲染区域中各个像素的像素值进行转换,得到转换后的渲染区域。
上述预设颜色转换表用于对像素的像素值进行转换。针对一个输入的像素值,查找该预设颜色转换表,即可找到当前像素值对应的转换后的像素值。从而,根据预设颜色转换表,将渲染区域中各个像素的像素值进行转换,可以得到转换后的渲染区域。
示例性地,如图8所示,其示例性示出了一种颜色转换表的示意图。该颜色转换表81可以是一张512×512大小的图片,有8×8个正方形大格子组成,每个大格子又由64×64个像素组成。64个大正方形用于B(Blue)通道的值,对于每个大格子的内部,它的横轴值即为R(Red)通道值,纵轴值即为G(Green)通道值。
R、G和B值的范围均为0~255,而目前小正方形的横轴,纵轴,都只有64个像素,肯定不能一一对应,因此,在横轴上,每个小正方形的R通道的差为:256/64=4,R通道的集合为[0,4,8,12,16,...,255];同理从纵轴上看,每个小正方形的G通道的差为:256/64=4,G通道的集合为[0,4,8,12,16,...,255]。
从而,就可以通过转换前像素的像素值,找到颜色转换表对应坐标的像素值,即为转换后的像素值。
步骤210,采用染发效果素材对转换后的渲染区域进行渲染,得到渲染图像。
可选地,上述染发效果素材包括以下至少一项:柔光素材、正片叠底素材、强光素材和叠加素材。此外,还可以包含一些其它素材,如虚化素材,本申请实施例对此不作限定。
示例性地,如图9所示,得到上述渲染图像需要预设颜色转换表91和染发效果素材,其中,染发效果素材包括柔光素材92、正片叠底素材93、强光素材94和叠加素材95。
可选地,上述采用染发效果素材对转换后的渲染区域进行渲染,得到渲染图像,可以包括以下几个步骤:
采用柔光素材对转换后的渲染区域进行柔光处理,得到第一中间图像;
采用正片叠底素材对第一中间图像进行正片叠底处理,得到第二中间图像;
采用强光素材对第二中间图像进行强光处理,得到第三中间图像;
采用叠加素材对第三中间图像进行叠加处理,得到渲染图像。
可选地,上述柔光处理、正片叠底处理、强光处理和叠加处理是指按照一定的公式,对染发效果素材和转换后的渲染区域中各个像素的像素值进行计算,得到渲染图像中各个像素的像素值。
示例性地,如下表-1所示,假设染发效果素材中像素的像素值为S,转换后的渲染区域中像素的像素值为D,不同处理方式按照不同的计算公式,得到处理后的图像中像素的像素值T:
表-1
示例性地,如图10所示,其示例性示出了一种获取渲染图像的示意图。首先,如图10中(a)部分所示,其为用户图像中的渲染区域101;根据预设颜色转换表,对该渲染区域中的像素值进行转换,得到如图10中(b)部分所示转换后的渲染区域102。之后,可以采用柔光素材对转换后的渲染区域进行柔光处理,得到如图10中(c)部分所示的第一中间图像103;然后,采用正片叠底素材对该第一中间图像103进行正片叠底处理,得到如图10中(d)部分所示的第二中间图像104;采用强光素材对第二中间图像104进行强光处理,得到如图10中(e)部分所示的第三中间图像105;最后,采用叠加素材对第三中间图像105进行叠加处理,得到如图10中(f)部分所示的渲染图像106。
需要说明的一点是,采用第一染发效果素材对转换后的渲染区域进行渲染,可以包括上述四个步骤中的至少一个,当第一染发效果素材中还包括其它素材时,还可以包括其它处理步骤,本申请实施例对此不作限定。
步骤211,保留渲染图像中头发区域的像素的像素值,还原渲染图像中非头发区域的像素的像素值,得到输出图像。
在确定出渲染图像中的头发区域之后,保留渲染图像中头发区域的像素的像素值,还原渲染图像中非头发区域的像素的像素值,得到输出图像。
示例性地,如图11所示,其示例性示出了获取输出图像的示意图。图11中(a)部分为渲染图像111,图11中(b)部分为头发分割图112,在得到上述渲染图像111之后,可以根据头发分割图,确定该渲染图像111中的头发区域;进一步,可以保留渲染图像111中头发区域的像素的像素值,还原渲染图像中非头发区域的像素的像素值,得到如图11中(c)部分所示的输出图像113。
综上所述,本申请实施例提供的技术方案,根据用户图像中,头发区域的明度对头发区域进行漂色处理,进一步对漂色处理的头发区域进行颜色调整处理,得到最终染发处理后的用户图像。相比于相关技术中,只是在目标图像的原有光照条件下进行发色调整处理。本申请实施例提供的技术方案,在对不同发色进行染发处理时,考虑头发区域的明度,将头发区域的明度调整至目标明度范围,然后再进行发色调整处理,从而使得对不同发色的用户呈现的染发效果相一致。
另外,通过对用户图像的头发分割图进行平滑处理,使得用户图像的头发分割图依赖于邻近用户图像的头发分割图和平滑处理后的邻近图像的头发分割图;也就是对图像序列来说,头发分割图利用图像序列中用户图像的邻近用户图像信息,进行平滑处理,减小了用户图像与邻近用户图像的头发区域之间的差异,进一步使得染发效果用户图像与邻近用户图像之间相对稳定。
另外,通过引入其它区域的明度,结合头发区域的明度和其它区域的明度,对头发区域进行漂色处理,例如,对于深色类型的头发,其它区域的越暗,漂色的程度越低,表示整体环境较暗,因此不用提亮太多;而对于浅色类型的头发,其它区域的越亮,表示整体环境较亮,因此也不用压暗太多。
请参考图12,其示出了本申请另一个实施例提供的图像染发处理方法的流程图。在本实施例中,主要以该方法应用于上文介绍的终端中来举例说明。该方法可以包括如下几个步骤:
步骤1201,显示图像拍摄界面。
用户运行终端中安装的目标应用程序,并显示图像拍摄界面。
可选地,该图像拍摄界面中包括拍摄预览区域、拍摄参数设置区域和拍摄控制区域。其中,拍摄预览区域用于显示取景画面;拍摄参数设置区域用于显示拍摄参数设置控件,比如闪光灯开关控件、HDR(High-Dynamic Range,高动态范围)图像开关控件、滤镜控件等等;拍摄控制区域用于显示快门控件,比如快门控件、摄像头切换控件、相册显示控件等等。
本申请实施例并不对图像拍摄界面中不同功能区域的布局,以及不同功能区域中控件的设置方式以及类型进行限定。
步骤1202,通过摄像头采集用户图像。
目标应用程序可以调用摄像头,当摄像头被打开时,终端可以通过摄像头采集用户图像。
可选地,上述摄像头可以是前置摄像头也可以是后置摄像头。当摄像头为前置摄像头时,采集的用户图像可以为当前使用该终端的使用者的用户图像;当摄像头为后置摄像头时,采集的用户图像可以为其它用户的用户图像。
可选地,上述用户图像中包括用户的头发区域。该头发区域是指用户的头发在用户图像中所占据的区域。
步骤1203,在图像拍摄界面中显示对用户图像中的头发区域进行染色处理后的用户图像;其中,染色处理是指根据头发区域的明度,对头发区域进行漂色处理和颜色调整处理。
在采集到上述用户图像之后,可以对用户图像中的头发区域进行染色处理,得到染色处理后的用户图像;从而,可以在图像拍摄界面中显示对用户图像中的头发区域进行染色处理后的用户图像。
上述染色处理是指根据头发区域的明度,对头发区域进行漂色处理和颜色调整处理,上述漂色处理是指根据头发区域的明度,对头发区域进行漂色处理,得到漂色处理后的用户图像;上述颜色调整处理是指对漂色处理后的用户图像进行颜色调整处理,得到输出图像,也就是染色处理后的用户图像。
关于上述漂色处理和颜色调整处理已在上文进行了详细的介绍,此处不再赘述。
示例性地,如图13所示,其示例性示出了染色处理后的用户图像的示意图。对于深色头发的用户图像131和浅色头发的用户图像132,若上述染色处理中不包括漂色处理,则对于深色头发,最终得到的染色处理后的用户图像133中染发效果较暗,而对于浅色头发,最终得到的染色处理后的用户图像134中染发效果较亮。若上述染色处理中包括漂色处理,则对于深色头发最终得到的染色处理后的用户图像135,和浅色头发最终得到的染色处理后的用户图像136中呈现的染发效果差异较小。
综上所述,本申请实施例提供的技术方案,根据用户图像中,头发区域的明度对头发区域进行漂色处理,进一步对漂色处理的头发区域进行颜色调整处理,得到最终染发处理后的用户图像。相比于相关技术中,只是在目标图像的原有光照条件下进行发色调整处理。本申请实施例提供的技术方案,在对不同发色进行染发处理时,考虑头发区域的明度,将头发区域的明度调整至目标明度范围,然后再进行发色调整处理,从而使得对不同发色的用户呈现的染发效果相一致。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图14,其示出了本申请一个实施例提供的图像染发处理装置的框图。该装置具有实现上述图像染发处理方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的终端,也可以设置在终端上。该装置1400可以包括:图像获取模块1410、区域确定模块1420、漂色处理模块1430和颜色调整模块1440。
图像获取模块1410,用于获取用户图像。
区域确定模块1420,用于确定所述用户图像中的头发区域。
漂色处理模块1430,用于根据所述头发区域的明度,对所述头发区域进行漂色处理,得到漂色处理后的用户图像。
颜色调整模块1440,用于对所述漂色处理后的用户图像进行颜色调整处理,得到输出图像。
综上所述,本申请实施例提供的技术方案,根据用户图像中,头发区域的明度对头发区域进行漂色处理,进一步对漂色处理的头发区域进行颜色调整处理,得到最终染发处理后的用户图像。相比于相关技术中,只是在目标图像的原有光照条件下进行发色调整处理。本申请实施例提供的技术方案,在对不同发色进行染发处理时,考虑头发区域的明度,将头发区域的明度调整至目标明度范围,然后再进行发色调整处理,从而使得对不同发色的用户呈现的染发效果相一致。
在一些可能的设计中,如图15所示,所述漂色处理模块1430包括:明度确定单元1431、颜色转换单元1432和漂色处理单元1433。
明度确定单元1431,用于确定所述头发区域的明度和所述用户图像中除所述头发区域之外的其它区域的明度。
颜色转换单元1432,用于根据所述头发区域的明度对所述头发区域进行颜色转换,得到颜色转换后的用户图像。
漂色处理单元1433,用于根据所述头发区域的明度、所述其它区域的明度、所述用户图像和所述颜色转换后的用户图像,生成所述漂色处理后的用户图像。
在一些可能的设计中,所述颜色转换单元1432,用于根据所述头发区域的明度,确定发色类型,所述发色类型包括深色类型和浅色类型;响应于所述发色类型为所述深色类型,对所述头发区域进行提亮处理,得到提亮处理后的用户图像;响应于所述发色类型为所述浅色类型,对所述头发区域进行压暗处理,得到压暗处理后的用户图像。
在一些可能的设计中,所述颜色转换单元1432,用于对于所述头发区域中的目标像素的像素值,根据深色颜色转换表,确定提亮处理后的目标像素的像素值;基于所述提亮处理后的目标像素的像素值,得到所述提亮处理后的用户图像;或者,对于所述头发区域中的目标像素的像素值,根据浅色颜色转换表,确定压暗处理后的目标像素的像素值;基于所述压暗处理后的目标像素的像素值,得到所述压暗处理后的用户图像。
在一些可能的设计中,漂色处理单元1433,用于根据所述头发区域的明度和所述其它区域的明度,确定所述用户图像和所述颜色转换后的用户图像的融合权重值;基于所述用户图像和所述颜色转换后的用户图像的融合权重值,对所述用户图像和所述颜色转换后的用户图像进行像素融合处理,生成所述漂色处理后的用户图像。
在一些可能的设计中,如图15所示,所述颜色调整模块1440,包括:渲染确定单元1441、像素转换单元1442、图像渲染单元1443和颜色调整单元1444。
渲染确定单元1441,用于确定所述漂色处理后的用户图像中的渲染区域,所述渲染区域包括所述漂色处理后的用户图像中的头发区域。
像素转换单元1442,用于根据预设颜色转换表,将所述渲染区域中各个像素的像素值进行转换,得到转换后的渲染区域。
图像渲染单元1443,用于采用染发效果素材对所述转换后的渲染区域进行渲染,得到渲染图像。
颜色调整单元1444,用于保留所述渲染图像中所述头发区域的像素的像素值,还原所述渲染图像中非头发区域的像素的像素值,得到所述输出图像。
在一些可能的设计中,如图15所示,所述装置1400还包括:人脸确定模块1450、素材缩放模块1460、素材裁剪模块1470、素材放置模块1480和素材覆盖模块1490。
人脸确定模块1450,用于根据人脸点位确定出所述漂色处理后的用户图像中的人脸区域。
素材缩放模块1460,用于按照所述人脸区域,对染发效果素材进行等比例缩放,得到缩放后的染发效果素材。
素材裁剪模块1470,用于从所述缩放后的染发效果素材中裁剪出与所述人脸区域尺寸相匹配的素材,得到裁剪后的染发效果素材。
素材放置模块1480,用于将所述裁剪后的染发效果素材放置于所述人脸区域上方,得到放置于人脸区域的染发效果素材。
素材覆盖模块1490,用于将所述放置于人脸区域的染发效果素材进行翻折,直至覆盖所述渲染区域,得到覆盖渲染区域的染发效果素材。
在一些可能的设计中,所述用户图像为图像序列中的任意一张图像;如图15所示,所述区域确定模块1420,包括:分割图获取单元1421、平滑处理单元1422和头发确定单元1423。
分割图获取单元1421,用于获取所述用户图像的头发分割图,所述头发分割图是指所述用户图像对应的,且分割有所述头发区域和非头发区域的图像。
平滑处理单元1422,用于对所述用户图像的头发分割图进行平滑处理,得到平滑处理后的用户图像的头发分割图;其中,所述平滑处理后的用户图像的头发分割图中所述头发区域与所述用户图像的邻近用户图像的头发分割图中头发区域相对稳定。
头发确定单元1423,用于从所述平滑处理后的用户图像的头发分割图中确定所述用户图像中的头发区域。
在一些可能的设计中,所述平滑处理单元1422,用于获取所述邻近用户图像的头发分割图和平滑处理后的邻近用户图像的头发分割图;对所述邻近用户图像的头发分割图、所述平滑处理后的邻近用户图像的头发分割图和所述用户图像的头发分割图的像素值进行加权计算,得到所述平滑处理后的用户图像的头发分割图。
在一些可能的设计中,如图15所示,所述装置1400还包括:队列构建模块1500和分割图放置模块1510。
队列构建模块1500,用于构建分割平滑队列,所述分割平滑队列中包括所述邻近用户图像的头发分割图、所述平滑处理后的邻近用户图像的头发分割图和所述用户图像的头发分割图。
分割图放置模块1510,用于响应于所述分割平滑队列中图像的数量小于预设数量,将所述用户图像的头发分割图置于所述分割平滑队列的末尾。
所述区域确定模块1420,用于在将所述用户图像的头发分割图置于所述分割平滑队列的末尾之后,执行所述对所述邻近用户图像的头发分割图、所述平滑处理后的邻近用户图像的头发分割图和所述用户图像的头发分割图的像素进行加权计算,得到所述平滑处理后的用户图像的头发分割图的步骤。
请参考图16,其示出了本申请另一个实施例提供的图像染发处理装置的框图。该装置具有实现上述图像染发处理方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的终端,也可以设置在终端上。该装置1600可以包括:界面显示模块1610、图像采集模块1620和染色处理模块1630。
界面显示模块1610,用于显示图像拍摄界面。
图像采集模块1620,用于通过摄像头采集用户图像。
染色处理模块1630,用于在所述图像拍摄界面中显示对所述用户图像中的头发区域进行染色处理后的用户图像;其中,所述染色处理是指根据所述头发区域的明度,对所述头发区域进行漂色处理和颜色调整处理。
综上所述,本申请实施例提供的技术方案,根据用户图像中,头发区域的明度对头发区域进行漂色处理,进一步对漂色处理的头发区域进行颜色调整处理,得到最终染发处理后的用户图像。相比于相关技术中,只是在目标图像的原有光照条件下进行发色调整处理。本申请实施例提供的技术方案,在对不同发色进行染发处理时,考虑头发区域的明度,将头发区域的明度调整至目标明度范围,然后再进行发色调整处理,从而使得对不同发色的用户呈现的染发效果相一致。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图17,其示出了本申请一个实施例提供的终端的结构框图。通常,终端1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集用于被处理器1701所执行以实现本申请中方法实施例提供的图像染发处理方法。
在一些实施例中,终端1700还可选包括有:外围设备接口1703和至少一个外围设备。处理器1701、存储器1702和外围设备接口1703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1703相连。具体地,外围设备可以包括:通信接口1704、显示屏1705、音频电路1706、摄像头组件1707、定位组件1708和电源1709中的至少一种。
本领域技术人员可以理解,图17中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机设备。该计算机设备可以是终端或服务器。所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述图像染发处理方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时实现上述图像染发处理方法。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述图像染发处理方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种图像染发处理方法,其特征在于,所述方法包括:
获取用户图像;
确定所述用户图像中的头发区域;
根据所述头发区域的明度,对所述头发区域进行漂色处理,得到漂色处理后的用户图像;
对所述漂色处理后的用户图像进行颜色调整处理,得到输出图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述头发区域的明度,对所述头发区域进行漂色处理,得到漂色处理后的用户图像,包括:
确定所述头发区域的明度和所述用户图像中除所述头发区域之外的其它区域的明度;
根据所述头发区域的明度对所述头发区域进行颜色转换,得到颜色转换后的用户图像;
根据所述头发区域的明度、所述其它区域的明度、所述用户图像和所述颜色转换后的用户图像,生成所述漂色处理后的用户图像。
3.根据权利要求2所述的方法,其特征在于,所述根据所述头发区域的明度对所述头发区域进行颜色转换,得到颜色转换后的用户图像,包括:
根据所述头发区域的明度,确定发色类型,所述发色类型包括深色类型和浅色类型;
响应于所述发色类型为所述深色类型,对所述头发区域进行提亮处理,得到提亮处理后的用户图像;
响应于所述发色类型为所述浅色类型,对所述头发区域进行压暗处理,得到压暗处理后的用户图像。
4.根据权利要求3所述的方法,其特征在于,所述对所述头发区域进行提亮处理,得到提亮处理后的用户图像,包括:
对于所述头发区域中的目标像素的像素值,根据深色颜色转换表,确定提亮处理后的目标像素的像素值;
基于所述提亮处理后的目标像素的像素值,得到所述提亮处理后的用户图像;
或者,
所述对所述头发区域进行压暗处理,得到压暗处理后的用户图像,包括:
对于所述头发区域中的目标像素的像素值,根据浅色颜色转换表,确定压暗处理后的目标像素的像素值;
基于所述压暗处理后的目标像素的像素值,得到所述压暗处理后的用户图像。
5.根据权利要求2所述的方法,其特征在于,所述根据所述头发区域的明度、所述其它区域的明度、所述用户图像和所述颜色转换后的用户图像,生成所述漂色处理后的用户图像,包括:
根据所述头发区域的明度和所述其它区域的明度,确定所述用户图像和所述颜色转换后的用户图像的融合权重值;
基于所述用户图像和所述颜色转换后的用户图像的融合权重值,对所述用户图像和所述颜色转换后的用户图像进行像素融合处理,生成所述漂色处理后的用户图像。
6.根据权利要求1所述的方法,其特征在于,所述对所述漂色处理后的用户图像进行颜色调整处理,得到输出图像,包括:
确定所述漂色处理后的用户图像中的渲染区域,所述渲染区域包括所述漂色处理后的用户图像中的头发区域;
根据预设颜色转换表,将所述渲染区域中各个像素的像素值进行转换,得到转换后的渲染区域;
采用染发效果素材对所述转换后的渲染区域进行渲染,得到渲染图像;
保留所述渲染图像中所述头发区域的像素的像素值,还原所述渲染图像中非头发区域的像素的像素值,得到所述输出图像。
7.根据权利要求6所述的方法,其特征在于,所述确定所述漂色处理后的用户图像中的渲染区域之后,还包括:
根据人脸点位确定出所述漂色处理后的用户图像中的人脸区域;
按照所述人脸区域,对染发效果素材进行等比例缩放,得到缩放后的染发效果素材;
从所述缩放后的染发效果素材中裁剪出与所述人脸区域尺寸相匹配的素材,得到裁剪后的染发效果素材;
将所述裁剪后的染发效果素材放置于所述人脸区域上方,得到放置于人脸区域的染发效果素材;
将所述放置于人脸区域的染发效果素材进行翻折,直至覆盖所述渲染区域,得到覆盖渲染区域的染发效果素材。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述用户图像为图像序列中的任意一张图像;
所述确定所述用户图像中的头发区域,包括:
获取所述用户图像的头发分割图,所述头发分割图是指所述用户图像对应的,且分割有所述头发区域和非头发区域的图像;
对所述用户图像的头发分割图进行平滑处理,得到平滑处理后的用户图像的头发分割图;其中,所述平滑处理后的用户图像的头发分割图中所述头发区域与所述用户图像的邻近用户图像的头发分割图中头发区域相对稳定;
从所述平滑处理后的用户图像的头发分割图中确定所述用户图像中的头发区域。
9.根据权利要求8所述的方法,其特征在于,所述对所述用户图像的头发分割图进行平滑处理,得到平滑处理后的用户图像的头发分割图,包括:
获取所述邻近用户图像的头发分割图和平滑处理后的邻近用户图像的头发分割图;
对所述邻近用户图像的头发分割图、所述平滑处理后的邻近用户图像的头发分割图和所述用户图像的头发分割图的像素值进行加权计算,得到所述平滑处理后的用户图像的头发分割图。
10.根据权利要去9所述的方法,其特征在于,所述对所述邻近用户图像的头发分割图、所述平滑处理后的邻近用户图像的头发分割图和所述用户图像的头发分割图的像素值进行加权计算,得到所述平滑处理后的用户图像的头发分割图之前,还包括:
构建分割平滑队列,所述分割平滑队列中包括所述邻近用户图像的头发分割图、所述平滑处理后的邻近用户图像的头发分割图和所述用户图像的头发分割图;
响应于所述分割平滑队列中图像的数量小于预设数量,将所述用户图像的头发分割图置于所述分割平滑队列的末尾;
在将所述用户图像的头发分割图置于所述分割平滑队列的末尾之后,执行所述对所述邻近用户图像的头发分割图、所述平滑处理后的邻近用户图像的头发分割图和所述用户图像的头发分割图的像素进行加权计算,得到所述平滑处理后的用户图像的头发分割图的步骤。
11.一种图像染发处理方法,其特征在于,所述方法包括:
显示图像拍摄界面;
通过摄像头采集用户图像;
在所述图像拍摄界面中显示对所述用户图像中的头发区域进行染色处理后的用户图像;
其中,所述染色处理是指根据所述头发区域的明度,对所述头发区域进行漂色处理和颜色调整处理。
12.一种图像染发处理装置,其特征在于,所述装置包括:
图像获取模块,用于获取用户图像;
区域确定模块,用于确定所述用户图像中的头发区域;
漂色处理模块,用于根据所述头发区域的明度,对所述头发区域进行漂色处理,得到漂色处理后的用户图像;
颜色调整模块,用于对所述漂色处理后的用户图像进行颜色调整处理,得到输出图像。
13.一种图像染发处理装置,其特征在于,所述装置包括:
界面显示模块,用于显示图像拍摄界面;
图像采集模块,用于通过摄像头采集用户图像;
染色处理模块,用于在所述图像拍摄界面中显示对所述用户图像中的头发区域进行染色处理后的用户图像;
其中,所述染色处理是指根据所述头发区域的明度,对所述头发区域进行漂色处理和颜色调整处理。
14.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至11任一项所述的方法,或者实现如权利要求12所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至11任一项所述的方法,或者实现如权利要求12所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911346930.1A CN111127591B (zh) | 2019-12-24 | 2019-12-24 | 图像染发处理方法、装置、终端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911346930.1A CN111127591B (zh) | 2019-12-24 | 2019-12-24 | 图像染发处理方法、装置、终端和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111127591A true CN111127591A (zh) | 2020-05-08 |
CN111127591B CN111127591B (zh) | 2023-08-08 |
Family
ID=70500298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911346930.1A Active CN111127591B (zh) | 2019-12-24 | 2019-12-24 | 图像染发处理方法、装置、终端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111127591B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784568A (zh) * | 2020-07-06 | 2020-10-16 | 北京字节跳动网络技术有限公司 | 人脸图像处理方法、装置、电子设备及计算机可读介质 |
CN112257797A (zh) * | 2020-10-29 | 2021-01-22 | 瓴盛科技有限公司 | 行人头部图像分类器的样本图像生成方法及相应训练方法 |
CN112258605A (zh) * | 2020-10-16 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 特效添加方法、装置、电子设备及存储介质 |
CN112634155A (zh) * | 2020-12-22 | 2021-04-09 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113763287A (zh) * | 2021-09-27 | 2021-12-07 | 北京市商汤科技开发有限公司 | 图像处理方法及装置、电子设备和存储介质 |
CN113763527A (zh) * | 2020-06-01 | 2021-12-07 | 上海米哈游天命科技有限公司 | 一种头发高光渲染方法、装置、设备及存储介质 |
CN114022395A (zh) * | 2022-01-06 | 2022-02-08 | 广州卓腾科技有限公司 | 一种证件照头发颜色矫正方法、装置及介质 |
EP4207075A4 (en) * | 2021-06-29 | 2024-04-03 | Beijing Sensetime Tech Development Co Ltd | IMAGE PROCESSING METHOD AND APPARATUS, AND COMPUTER DEVICE AND STORAGE MEDIUM |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130121577A1 (en) * | 2009-10-30 | 2013-05-16 | Jue Wang | Methods and Apparatus for Chatter Reduction in Video Object Segmentation Using Optical Flow Assisted Gaussholding |
CN104952093A (zh) * | 2015-06-04 | 2015-09-30 | 福建天晴数码有限公司 | 虚拟染发方法和装置 |
CN107204034A (zh) * | 2016-03-17 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法及终端 |
CN107256555A (zh) * | 2017-05-25 | 2017-10-17 | 腾讯科技(上海)有限公司 | 一种图像处理方法、装置及存储介质 |
CN108629819A (zh) * | 2018-05-15 | 2018-10-09 | 北京字节跳动网络技术有限公司 | 图像染发处理方法和装置 |
KR20190043925A (ko) * | 2017-10-19 | 2019-04-29 | 주식회사 버츄어라이브 | 헤어 스타일 시뮬레이션 서비스를 제공하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
-
2019
- 2019-12-24 CN CN201911346930.1A patent/CN111127591B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130121577A1 (en) * | 2009-10-30 | 2013-05-16 | Jue Wang | Methods and Apparatus for Chatter Reduction in Video Object Segmentation Using Optical Flow Assisted Gaussholding |
CN104952093A (zh) * | 2015-06-04 | 2015-09-30 | 福建天晴数码有限公司 | 虚拟染发方法和装置 |
CN107204034A (zh) * | 2016-03-17 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法及终端 |
CN107256555A (zh) * | 2017-05-25 | 2017-10-17 | 腾讯科技(上海)有限公司 | 一种图像处理方法、装置及存储介质 |
KR20190043925A (ko) * | 2017-10-19 | 2019-04-29 | 주식회사 버츄어라이브 | 헤어 스타일 시뮬레이션 서비스를 제공하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
CN108629819A (zh) * | 2018-05-15 | 2018-10-09 | 北京字节跳动网络技术有限公司 | 图像染发处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
TRENT1985: "深度学习AI美颜系列----AI美发算法(美妆相机/天天P图染发特效)", Retrieved from the Internet <URL:https://trend.blog.csdn.net/article/details/80944942> * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113763527A (zh) * | 2020-06-01 | 2021-12-07 | 上海米哈游天命科技有限公司 | 一种头发高光渲染方法、装置、设备及存储介质 |
CN113763527B (zh) * | 2020-06-01 | 2023-09-26 | 上海米哈游天命科技有限公司 | 一种头发高光渲染方法、装置、设备及存储介质 |
CN111784568A (zh) * | 2020-07-06 | 2020-10-16 | 北京字节跳动网络技术有限公司 | 人脸图像处理方法、装置、电子设备及计算机可读介质 |
CN112258605A (zh) * | 2020-10-16 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 特效添加方法、装置、电子设备及存储介质 |
WO2022077970A1 (zh) * | 2020-10-16 | 2022-04-21 | 北京达佳互联信息技术有限公司 | 特效添加方法及装置 |
CN112257797A (zh) * | 2020-10-29 | 2021-01-22 | 瓴盛科技有限公司 | 行人头部图像分类器的样本图像生成方法及相应训练方法 |
CN112634155A (zh) * | 2020-12-22 | 2021-04-09 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN112634155B (zh) * | 2020-12-22 | 2024-03-22 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
EP4207075A4 (en) * | 2021-06-29 | 2024-04-03 | Beijing Sensetime Tech Development Co Ltd | IMAGE PROCESSING METHOD AND APPARATUS, AND COMPUTER DEVICE AND STORAGE MEDIUM |
WO2023045946A1 (zh) * | 2021-09-27 | 2023-03-30 | 上海商汤智能科技有限公司 | 图像处理方法及装置、电子设备和存储介质 |
CN113763287A (zh) * | 2021-09-27 | 2021-12-07 | 北京市商汤科技开发有限公司 | 图像处理方法及装置、电子设备和存储介质 |
CN114022395B (zh) * | 2022-01-06 | 2022-04-12 | 广州卓腾科技有限公司 | 一种证件照头发颜色矫正方法、装置及介质 |
CN114022395A (zh) * | 2022-01-06 | 2022-02-08 | 广州卓腾科技有限公司 | 一种证件照头发颜色矫正方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111127591B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111127591B (zh) | 图像染发处理方法、装置、终端和存储介质 | |
KR102290985B1 (ko) | 이미지 조명 방법, 장치, 전자 기기 및 저장 매체 | |
KR101446975B1 (ko) | 얼굴 검출 기능을 사용한 얼굴 및 피부의 자동 미화 | |
US9142054B2 (en) | System and method for changing hair color in digital images | |
US8520089B2 (en) | Eye beautification | |
CN111445564B (zh) | 人脸纹理图像生成方法、装置、计算机设备和存储介质 | |
WO2012056743A1 (ja) | 画像処理装置、画像処理方法、および制御プログラム | |
CN107665482B (zh) | 实现双重曝光的视频数据实时处理方法及装置、计算设备 | |
JP2000134486A (ja) | 画像処理装置及び画像処理方法及び記憶媒体 | |
CN110503599B (zh) | 图像处理方法和装置 | |
CN111784568A (zh) | 人脸图像处理方法、装置、电子设备及计算机可读介质 | |
EP3736729A1 (en) | Augmented reality display method of applying color of hair to eyebrows | |
CN110730303B (zh) | 图像染发处理方法、装置、终端和存储介质 | |
CN109447931B (zh) | 图像处理方法及装置 | |
US9092889B2 (en) | Image processing apparatus, image processing method, and program storage medium | |
US20240127403A1 (en) | Multi-frame image fusion method and system, electronic device, and storage medium | |
CN111462158B (zh) | 一种图像处理方法、装置及智能设备、存储介质 | |
US20240013358A1 (en) | Method and device for processing portrait image, electronic equipment, and storage medium | |
JP2019512141A (ja) | 顔モデル編集方法及び装置 | |
CN111652792A (zh) | 图像的局部处理、直播方法、装置、设备和存储介质 | |
CN112150387B (zh) | 对照片中的人像增强五官立体感的方法及装置 | |
CN114155569B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN114998115A (zh) | 图像美化处理方法、装置及电子设备 | |
CN113240760A (zh) | 一种图像处理方法、装置、计算机设备和存储介质 | |
CN113379623A (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 |