一种图像处理方法、装置及存储介质与流程

文档序号:11515777阅读:290来源:国知局
一种图像处理方法、装置及存储介质与流程

本发明涉及通信技术领域,具体涉及一种图像处理方法、装置及存储介质。



背景技术:

随着电子技术的不断发展,移动终端(例如智能手机或平板电脑等)的功能越来越强大,除了基本的通话及短信功能之外,还有各种丰富的娱乐功能,例如拍照,并且还能对拍摄的照片进行一些图片处理,如改变光影效果、皮肤美白、发型发色的改变,等等,从而满足用户的需求。

目前,移动应用领域存在不少图像处理应用,在移动终端上安装图像处理应用后,用户可以通过拍照或者选取照片,以利用这些图像处理应用来改变发型和头发颜色等等,以达到美颜效果。现有图像处理应用的发色改变技术中,通常是根据用户选择的目标发色获得一个颜色图层,然后将颜色图层与照片中用户的头发颜色进行简单叠加,从而实现发色改变。

在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术由于通过简单的颜色叠加来改变发色,因此通常只能实现以深色系为主的染发效果,难以实现浅色系染发效果,因而可选择的目标发色种类较少,无法满足用户的多样化需求。



技术实现要素:

本发明实施例提供一种图像处理方法、装置及存储介质,能够实现将图像中的头发颜色改变为深色系颜色、浅色系颜色或者渐变颜色,从而可以提供包括深色系、浅色系或渐变色的目标发色供用户选择,满足用户的多样化需求。

本发明实施例提供一种图像处理方法,包括:

获取用户选择的待处理图像以及目标发色;

确定所述待处理图像的头发区域,以及根据所述目标发色生成目标颜色图像;

获取所述头发区域中发丝的轨迹数据;

基于所述发丝的轨迹数据对目标颜色图像进行变形处理;

将所述头发区域的图像部分与变形后的目标颜色图像的对应位置的像素进行滤色混合处理,得到具有目标发色的第一目标图像。

相应地,本发明实施例还提供一种图像处理装置,包括:

第一获取模块,用于获取用户选择的待处理图像以及目标发色;

确定模块,用于确定所述待处理图像的头发区域;

生成模块,用于根据所述目标发色生成目标颜色图像;

第二获取模块,用于获取所述头发区域中发丝的轨迹数据;

变形处理模块,用于基于所述发丝的轨迹数据对目标颜色图像进行变形处理;

第一处理模块,用于将所述头发区域的图像部分与变形后的目标颜色图像的对应位置的像素进行滤色混合处理,得到具有目标发色的第一目标图像。

可选地,所述变形处理模块具体用于:

确定目标颜色图像的中线;

获取所述中线的轨迹数据,得到预定位置上线条的轨迹数据。

可选地,图像处理装置还包括缩放处理模块;

所述缩放处理模块,用于根据所述头发区域确定所述头发区域的形状的外接矩形,并基于所述外接矩形对所述目标颜色图像进行缩放处理,以使得所述目标颜色图像的尺寸与所述外接矩形的尺寸一致;

所述变形处理模块用于基于所述发丝的轨迹数据对缩放处理后的目标颜色图像进行变形处理。

可选地,所述第一处理模块具体用于:

获取所述头发区域的图像部分的第一待处理像素的位置、以及红、绿和蓝三基色分量的像素值;

获取变形后的目标颜色图像中与所述第一待处理像素位置对应的第二待处理像素的红、绿和蓝三基色分量的像素值;

以所述第一待处理像素的各基色分量的像素值为基色值、所述第二待处理像素的各基色分量的像素值为混合色值,将所述第一待处理像素和第二待处理像素的同一基色分量的像素值进行滤色混合处理。

可选地,所述第三处理模块具体用于:

获取所述头发区域的图像部分的亮度信息,以生成头发区域的图像部分的亮度通道图像;

对所述亮度通道图像进行直方图均衡化处理,得到第二权重图像;

根据第二权重图像确定第二权重系数;

基于第二权重系数对所述头发区域的图像部分和第二目标图像进行阿尔法混合处理,得到具有目标发色的第三目标图像。

相应地,本发明实施例还提供一种存储介质,所述存储介质用于存储多条指令,所述指令适于处理器进行加载,以执行上述的图像处理方法中的步骤。

本发明实施例的图像处理方法中,根据图像处理请求确定待处理图像以及目标发色,然后确定待处理图像的头发区域,并根据目标发色生成目标颜色图像,然后通过获取待处理图像中发丝的轨迹数据,从而基于发丝的轨迹数据对目标颜色图像进行变形处理,之后将头发区域的图像部分与变形后的目标颜色图像的对应位置的像素进行滤色混合处理,得到具有目标发色的第一目标图像,本方案中,通过基于发丝的轨迹数据对目标颜色图像进行变形处理,从而可以在目标颜色图像上得到发丝对应的纹理,由此通过目标颜色图像确定了单根发丝所需要改变的颜色,使得发色改变不受待处理图像中的背景发色的约束,能够实现将图像中的头发颜色改变为深色系颜色、浅色系颜色或者渐变颜色,从而可以提供包括深色系、浅色系或渐变色的目标发色供用户选择,满足用户的多样化需求。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的图像处理方法的一场景图;

图1b是本发明实施例提供的图像处理方法的一流程图;

图1c是本发明实施例提供的图像处理方法中,对目标颜色图像进行变形处理的流程图;

图2a是本发明实施例提供的图像处理方法中,获得第一目标图像之后的流程图;

图2b是本发明实施例提供的图像处理方法中,对头发区域的图像部分和第一目标图像的对应位置的像素进行阿尔法混合处理的流程图;

图2c是本发明实施例提供的图像处理方法中,对头发区域的图像部分和第二目标图像的对应位置的像素进行阿尔法混合处理的流程图;

图3a是本发明实施例提供的图像处理装置的一结构示意图;

图3b是本发明实施例提供的图像处理装置的另一结构示意图;

图4是本发明实施例提供的终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种图像处理方法、装置及存储介质。

其中,该图像处理装置具体可以集成在智能手机、平板电脑、笔记本电脑或个人计算机等终端中。

例如,参阅图1a,该图像处理装置例如可以提供一个图像处理界面,用户可以在该图像处理界面中打开一张图片,然后利用该图像处理界面提供的编辑功能对图片进行处理,例如可以对图片进行文字添加、脸部美容以及改变头发颜色,等等。其中,在头发颜色改变的界面中,提供有多种目标发色供用户选择,例如深色系、浅色系以及渐变色等目标发色,用户可以根据需要选择其中一个目标发色以将图片中的头发颜色修改为目标发色。

具体地,该图像处理装置可以获取用户选择的待处理图像以及目标发色,目标发色例如为黄色、褐色或红色等,然后,确定待处理图像的头发区域,以及根据目标发色生成目标颜色图像,并获取待处理图像中的发丝的轨迹数据,从而基于发丝的轨迹数据对目标颜色图像进行变形处理,之后,将头发区域的图像部分与变形后的目标颜色图像对应位置的像素进行滤色混合处理,得到具有目标发色的第一目标图像。

其中,可以利用移动最小二乘法图像变形计算对目标颜色图像进行变形处理,例如,依次获取每根发丝的轨迹数据,并获取目标颜色图像中预定位置上线条的轨迹数据,然后依次根据每根发丝的轨迹数据和预定位置线条的轨迹数据,调整目标颜色图像中像素的位置,得到多个发丝颜色图像,从而将多个发丝颜色图像的对应位置的像素进行滤色混合处理,得到变形后的,目标颜色图像。

通过基于发丝的轨迹对目标颜色图像进行变形处理,从而可以在目标颜色图像上得到发丝对应的纹理,再将具有发丝纹理的目标颜色图像和待处理图像的头发区域进行滤色混合处理,通过此种方式能够实现将图像中的头发颜色改变为深色系颜色、浅色系颜色或者渐变颜色,从而可以提供包括深色系、浅色系或渐变色的目标发色供用户选择,满足用户的多样化需求。

以下分别进行详细说明。

参阅图1b,本实施例将从图像处理装置的角度进行描述,该图像处理装置具体可以集成在终端等设备中,终端例如可以是智能手机、平板电脑或个人计算机,等等。

如图1b所示,该图像处理方法的具体流程可以如下:

101、获取用户选择的待处理图像以及目标发色。

例如,在图像处理界面中,用户可以对图片进行文字添加、脸部美容以及改变头发颜色等编辑处理。其中,在编辑头发颜色的界面中,可以有多种目标发色供用户选择,例如深色系、浅色系以及渐变色等目标发色,用户可以根据需要选择其中一个目标发色以将图片中的头发颜色修改为目标发色。根据用户在图像处理界面中打开的图片以及选定的目标发色,获取用户选择的待处理图像以及目标发色。

102、确定待处理图像的头发区域,以及根据目标发色生成目标颜色图像。

可以理解的是,待处理图像的头发区域是指待处理图像中的头发像素所在的区域,确定待处理图像的头发区域主要是确定待处理图像的头发像素,可以根据头发像素的特征信息对待处理图像进行头发检测,根据检测到的头发像素确定待处理图像的头发区域。头发检测的方式可以有多种,例如基于颜色空间统计的发色检测、基于概率模型、高斯模型的发色检测或者基于神经网络机器学习的发色检测,等等。

目标发色为用户所选择的颜色,例如红色、褐色或者淡黄色等。其中,目标颜色图像为显示用户所选择的目标发色的图像,其根据用户所选择的目标发色而定,例如,用户选择的目标发色为红色,则目标颜色图像为显示红色的图像。

103、获取头发区域中发丝的轨迹数据。

比如,可以先确定头发区域中发丝的轨迹,然后获取发丝的轨迹数据。发丝轨迹的获取方式可以有多种,例如通过检测发丝的方向来确定发丝的轨迹,其中发丝的方向例如可以通过gabor滤波器进行检测,本领域技术人员可以理解的是,gabor滤波器是一个用于边缘检测的线性滤波器,其频率和方向表示接近人类视觉系统对于频率和方向的表示,常用于纹理表示和描述,可以在频域的不同尺度,不同方向上提取相关特征,因此可以利用gabor滤波器对整条发丝进行特征提取,从而确定整条发丝的方向,进而确定整条发丝的轨迹。发丝的轨迹数据例如可以是发丝轨迹上的多个像素点的位置信息,其中,确定发丝的轨迹后,可以沿着发丝轨迹选择发丝轨迹上的多个像素点的位置信息,以获得发丝的轨迹数据。

104、基于发丝的轨迹数据对目标颜色图像进行变形处理。

其中,对目标颜色图像进行变形处理是指对目标颜色图像的像素的位置进行调整,达到图像变形的目的,本实施例中,基于发丝的轨迹数据对目标颜色图像进行变形处理,以使得目标颜色图像具有与待处理图像中的发丝轨迹对应的纹路。

对目标颜色图像进行变形处理的方式可以有多种,例如移动最小二乘法图像变形算法、基于二维插值的图像变形算法或者基于轮廓多边形的图像变形算法,等等。

以下将以移动最小二乘法图像变形算法对本实施例的目标颜色图像的变变形处理做详细说明。

其中,在基于发丝的轨迹数据对目标颜色图像进行变形处理之前,还可以包括以下步骤:根据待处理图像的头发区域确定头发区域的形状的外接矩形,基于外接矩形对目标颜色图像进行缩放处理,以使得目标颜色图像的尺寸与外接矩形的尺寸一致。

通过对目标颜色图像进行缩放处理,以使得目标颜色图像的尺寸和头发区域的尺寸大致相同。

头发区域的形状通常为不规则形状,为确保头发区域和目标颜色图像的尺寸大致相同,本实施例中,通过计算头发区域的形状的外接矩形,以将该外接矩形的尺寸作为头发区域的尺寸,然后对目标颜色图像进行缩放处理,使得目标颜色图像的长和宽分别等同于该外接矩形的长和宽,进而使得目标颜色图像的尺寸与头发区域的尺寸大致相同。

通过使目标颜色图像和头发区域的尺寸大致相同,从而可以使得目标颜色图像的像素与头发区域中的像素位置一一对应。

其中,基于发丝的轨迹数据对目标颜色图像进行变形处理具体包括基于发丝的轨迹数据对缩放处理后的目标颜色图像进行变形处理,例如,如图1c所示,可以包括以下子步骤:

1041、获取每根发丝的轨迹数据。

发丝的轨迹可以理解为由多个像素点构成的一个线段,发丝的轨迹数据为发丝轨迹上多个像素点的位置信息。其中,该位置信息是指像素点在待处理图像中的位置信息,具体而言,在头发区域的外接矩形对应的图像范围内建立坐标系,发丝的轨迹数据是指以头发区域的外接矩形对应的图像范围内的坐标系为参考坐标系,发丝轨迹上的像素点在参考坐标系中的坐标信息。其中,每个发丝的轨迹可以用一个点数组来表示,点数组中的每个元素为发丝轨迹上的一个像素点的位置信息。

例如,发丝的轨迹个数为m,即在待处理图像中检测出m根发丝的轨迹,则发丝的轨迹数据也相应地有m个,每根发丝的轨迹数据为一个点数组dstlist-n(p1,p2,……,pn),点数组的数组长度为n,表示有n元素,n为大于或等于1的,其中点数组中的每个元素pn为发丝轨迹上的一个像素点的坐标信息,即pn=di(xi,yi),其中,di表示发丝轨迹上的第i个像素,xi表示第i个像素在上述参考坐标系中的x轴坐标,yi表示第i个像素在上述参考坐标系中的y轴坐标。

其中,点数组dstlist-n(p1,p2,……,pn)中的元素可以是发丝轨迹上所有像素点的坐标信息,也可以是从发丝轨迹上所有像素点中选取的多个像素点的坐标信息,例如间隔预定个数选取一个像素点作为点数组中的元素。

1042、获取缩放处理后的目标颜色图像中预定位置上线条的轨迹数据。

其中,预定位置上的线条可以是进行缩放处理后的目标颜色图像中沿y轴方向的任一条线条,例如可以是缩放处理后的目标颜色图像的中线线条,或者可以是缩放处理后的目标颜色图像的中线左侧位置的一条线条,或者中线右侧位置的一条线条。以中线为例,步骤s1042具体包括:确定缩放处理后的目标颜色图像的中线,该中线的长度方向为y轴方向,然后获取中线的轨迹数据,从而得到预定位置上线条的轨迹数据。

其中,中线的轨迹数据是指在中线轨迹上的像素点在目标颜色图像中的位置信息,其中可以用一个点数组srclist(s1,s2,……,sn),其中点数组srclist(s1,s2,……,sn)与点数组dstlist-n(p1,p2,……,pn)的数组长度相同,均为n。

1043、依次根据每根发丝的轨迹数据和预定位置线条的轨迹数据,调整缩放处理后的目标颜色图像中像素的位置,得到多个发丝颜色图像。

其中,根据单根发丝的轨迹数据和预定位置线条的轨迹数据,调整缩放处理后的目标颜色图像中像素的位置,得到单根发丝对应的一个发丝颜色图像。

其中,利用基于点的移动最小二乘法的图像变形算法调整缩放处理后的目标颜色图像的像素的位置。

基于点的移动最小二乘法的图像变形算法中,主要是根据变形函数来改变像素点位置而使得图像产生变形效果。本实施例中,设定目标颜色图像的中线的轨迹数据为原始控制点位置的集合,设定单根发丝的轨迹数据为变形后控制点位置的集合,根据基于点的移动最小二乘法的图像变形算法原理可知,根据原始控制点的集合和变形后控制点位置的集合可以确定一个变形函数,从而根据该变形函数对缩放处理后的目标颜色图像进行变形处理,也即调整目标颜色图像中像素的位置,其中该变形函数中的变量为目标颜色图像的任意像素点的坐标,而变形函数的值则为变形后的像素点坐标,由此可以得到调整像素位置之后的目标颜色图像,即单根发丝对应的发丝颜色图像,以此类推得到每根发丝对应的发丝颜色图像,由此得到多个发丝颜色图像。

1044、将多个发丝颜色图像的对应位置的像素进行滤色混合处理,得到变形后的目标颜色图像。

两个图像的像素的滤色混合处理是指对两个图像的像素的同一基色分量进行滤色计算的过程。每个像素包括红(r)、绿(g)、和蓝(b)三基色分量,三基色分量的像素值取值范围为0~255。其中两个图像中的其中一个图像设为上层图像,另一个图像作设为下层图像(也即背景图像),滤色混合的计算公式如下:

p0=1-(1-p1)*(1-p2)(1)

其中,p1表示滤色混合算法的基色值,其取值为上层图像中任一位置的像素的任一基色分量的像素值,p2表示滤色混合算法中的混合色值,其取值为下层图像(也即背景图像)中对应位置的像素的相应基色分量的像素值,p0表示滤色混合处理后得到的新图像在对应位置的像素的相应基色分量的像素值。例如,假设p1为上层图像的q点(x1,y1)处的像素的红色分量的像素值,则p2则为下层图像中位置与q点位置对应的像素的红色分量的像素值,p0则表示上层图像和下层图像的像素在滤色混合处理后得到的新图像中在q点位置的像素的红色分量的像素值。

本实施例中,当在待处理图像中检测出m根发丝的轨迹时,多个发丝颜色图像的数量也为m,设定m个发丝颜色图像分别为imgh1、imgh2、imgh3、……、imghm,m个发丝颜色图像的滤色混合处理方式可以有多种,例如如下:

利用上述公式(1)先将两个发丝颜色图像对应位置上的像素进行滤色混合处理,然后将滤色混合处理结果得到的新图像与下一个发丝颜色图像的对应位置的像素的进行滤色混合处理,直至滤色至最后一个发丝颜色图像。

具体地,利用公式(1)对imgh1和imgh2进行滤色混合处理,其中imgh1为上层图像,imgh2为下层图像,对于imgh1和imgh2的同一个位置的像素的各基色分量,滤色混合计算公式如下:

p0r=1-(1-p1r)*(1-p2r)

p0g=1-(1-p1g)*(1-p2g)

p0b=1-(1-p1b)*(1-p2b)

其中,p1r、p1g、p1b分别为imgh1的任一位置的像素的红、绿和蓝三基色分量的像素值,p2r、p2g、p2b分别为imgh2的对应位置的像素的红、绿和蓝三基色分量的像素值,p0r、p0g、p0b分别为滤色混合后的新发丝图像的对应位置的红、绿和蓝三基色分量的像素值。

在利用上述公式依次对imgh1和imgh2中每个对应位置的像素的三基色分量的像素值进行滤色混合计算,从而可得到一个滤色混合处理后的新发丝颜色图像,然后,利用公式(1)对新发丝颜色图像与下一个发丝颜色图像imgh3的对应位置的像素的三基色分量的像素值进行滤色混合计算,其中新发丝颜色图像为上层图像,下一个发丝颜色图像imgh3为下层图像,以此类推,直至计算至最后一个发丝颜色图像imghm,最终的计算结果即为变形后的目标颜色图像,即变形后的目标颜色图像为多个发丝颜色图像滤色混合处理后得到的图像。

105、将头发区域的图像部分与变形后的目标颜色图像的对应位置的像素进行滤色混合处理,得到具有目标发色的第一目标图像。

例如,具体可以包括以下步骤:获取头发区域的图像部分的第一待处理像素的位置、以及红、绿和蓝三基色分量的像素值,然后获取变形后的目标颜色图像中与第一待处理像素的位置对应的第二待处理像素的红、绿和蓝三基色分量的像素值,以第一待处理像素的各基色分量的像素值为基色值、第二待处理像素的各基色分量的像素值为混合色值,将所述第一待处理像素和第二待处理像素的同一基色分量的像素值进行滤色混合处理。

第一待处理像素是指头发区域的图像部分的任意一个像素,第二待处理像素是指变形后的目标颜色图像中与第一待处理像素位置对应的像素。

为便于描述,在下文中,变形后的目标颜色图像用imgl表示,待处理图像中头发区域的图像部分用imgm表示。仍然使用上述公式(1)对imgm和imgl的对应位置的像素的各基色分量的像素值进行滤色混合处理计算,其中,imgm为上层图像,imgl为下层图像,具体的计算过程可参考上述imgh1和imgh2的滤色混合计算过程进行此处不进行一一赘述。通过利用公式(1)依次对imgm和imgl中每个对应位置的像素的同一基色分量的像素值进行滤色混合计算,每次计算的结果作为对应位置的像素的同一基色分量的新像素值,从而可以得到具有目标发色的第一目标图像,由此实现将待处理图像中的发丝颜色修改为用户所选择的目标发色,实现了图像的染发效果。

本实施例中,根据用户选择的目标发色生成目标颜色图像,并利用待处理图像中发丝的轨迹数据对目标颜色图像进行变形处理,从而可以在目标颜色图像上得到发丝对应的纹理,由此通过目标颜色图像确定了单根发丝所需要改变的颜色,使得发色改变不受待处理图像中的背景发色的约束,能够实现将图像中的头发颜色改变为深色系颜色、浅色系颜色或者渐变颜色,从而可以提供包括深色系、浅色系或渐变色的目标发色供用户选择,满足用户的多样化需求。

参阅图2a,在本发明图像处理方法的另一实施例中,得到具有目标发色的第一目标图像之后,例如,还包括以下流程:

201、对头发区域的图像部分和第一目标图像的对应位置的像素进行阿尔法混合处理,得到具有目标发色的第二目标图像。

具体地,如图2b,包括以下子步骤:

2011、根据待处理图像的头发区域生成头发区域图像。

具体地,根据头发区域中的像素生成头发区域图像,头发区域图像是指仅显示头发区域的图像部分的图像,头发区域图像中除了头发区域的图像部分之外的背景色均为黑色。本实施方式中,头发区域图像为单通道灰度图像,其生成过程例如可以如下:提取待处理图像的头发区域的像素信息,该像素信息例如为每个像素的红、绿、蓝三基色分量的像素值,然后根据提取的像素信息生成一三通道图像,之后将该三通道图像转化为单通道灰度图像,从而得到单通道灰度的头发区域图像。

2012、将头发区域图像和变形后的目标颜色图像的对应位置的像素进行柔光混合处理,得到第一权重图像。

两个图像的像素的柔光混合处理是指对两个图像的像素的同一基色分量进行柔光混合计算的过程,两个图像中其中一个为上层图像,另一个为下层图像,柔光混合计算公式如下:

其中,sqrt(u2)为u2的平方根,u1表示上层图像中任一位置的像素的任一基色分量的像素值,u2表示下层图像的对应位置的像素的对应基色分量的像素值,u0表示两个图像柔光混合处理后得到的新图像在对应位置的像素的对应基色分量的像素值。

本实施例中,利用公式(2)对头发区域图像和变形后的目标颜色图像imgl的对应位置的像素进行柔光混合计算。头发区域图像用imgf表示,其中imgf为上层图像,imgl为下层图像,其中imgf为单通道灰度图像,只有一个基色分量,该基色分量的像素值又称灰度值,因此,对于imgf和imgl的同一位置的像素的各基色分量,柔光混合计算公式如下:

其中,u1x为imgf的任一位置的像素的基色分量的像素值,u2r、u2g、u2b分别为imgl的对应位置的像素的红、绿和蓝三基色分量的像素值,u0r、u0g、u0b分别为柔光混合后得到的第一权重图像的对应位置的红、绿和蓝三基色分量的像素值。

在利用上述公式依次对imgf和imgl中每个对应位置的像素的三基色分量的像素值进行柔光混合计算,从而可得到一个柔光混合处理后的第一权重图像。

2013、根据第一权重图像确定第一权重系数。

2014、基于第一权重系数对头发区域的图像部分和第一目标图像的对应位置的像素进行阿尔法混合处理,得到具有目标发色的第二目标图像。

两个图像的像素的阿尔法(alpha)混合处理是指对两个图像的像素的同一基色分量进行阿尔法混合计算的过程,两个图像中其中一个为上层图像,另一个为下层图像,阿尔法混合计算公式如下:

d0=a*d1+(1-a)*d2(3)

其中,d1表示上层图像中任一位置的像素的任一基色分量的像素值,d2表示下层图像的对应位置的像素的对应基色分量的像素值,d0表示两个图像阿尔法混合处理后得到的第二目标图像在对应位置的像素的对应基色分量的像素值。a为第一权重系数,其取值为第一权重图像中对应位置的像素的对应基色分量的像素值。

本实施例中,利用公式(3)对头发区域的图像部分imgm和第一目标图像的对应位置的像素进行阿尔法混合计算。其中,imgm为下层图像,第一目标图像为上层图像,因此,对于imgm和第一目标图像的同一位置的像素的各基色分量,阿尔法混合计算公式如下:

d0r=ar*d1r+(1-ar)*d2r

d0g=gr*d1g+(1-ag)*d2g

d0b=ab*d1b+(1-ab)*d2b

其中,d1r、d1g、d1b分别为imgm的任一位置的像素的红、绿和蓝三基色分量的像素值,d2r、d2g、d2b分别为第一目标图像的对应位置的像素的红、绿和蓝三基色分量的像素值,ar、ag、ab为第一权重系数,取值分别为第一权重图像中对应位置的像素的红、绿和蓝三基色分量的像素值,d0r、d0g、d0b分别为imgm和第一目标图像阿尔法混合处理后得到的第二目标图像在对应位置的像素的红、绿和蓝三基色分量的像素值。

在利用上述公式依次对imgm和第一目标图像中每个对应位置的像素的三基色分量的像素值进行阿尔法混合计算,从而可得到一个阿尔法混合处理后的第二目标图像。

通过对头发区域的图像部分进行进一步的柔光混合处理和阿尔法混合处理,可以优化头发边缘过渡,使得图像过渡更自然。

202、对头发区域的图像部分和第二目标图像的对应位置的像素进行阿尔法混合处理,得到具有目标发色的第三目标图像。

具体地,如图2c所示,可以包括以下子步骤:

2021、获取待处理图像中头发区域的图像部分的亮度信息,以生成头发区域的图像部分的亮度通道图像。

其中,可以通过获取头发区域的图像部分各像素的红、绿和蓝三基色分量的像素值,然后根据各像素的三基色分量的像素值得到hsv颜色空间上各像素的色相值h、饱和度值s和亮度值v,之后提取各像素的亮度值v,以生成头发区域的图像部分的亮度通道图像。

2022、对亮度通道图像进行直方图均衡化处理,得到第二权重图像。

直方图均衡化处理主要是指根据图像的直方图信息调整图像的对比度,例如,先统计亮度通道图像的各个灰度级的像素个数,然后对像素个数较多的灰度级进行展宽,而对像素个数较少的灰度级进行压缩,从而提高对比度和灰度色调变化。其中,可以根据实际需要设置各灰度级展宽和压缩的程度,本实施例中,可以根据头发区域的图像部分的像素分布情况确定亮度通道图像的各灰度级展宽和压缩的程度,以对头发区域的图像部分的亮度通道图像进行直方图均衡化处理,能够提高该亮度通道图像的对比度。

2023、根据第二权重图像确定第二权重系数。

2024、基于第二权重系数对头发区域的图像部分和第二目标图像进行阿尔法混合处理,得到具有目标发色的第三目标图像。

其中,可以利用上述公式(3)对头发区域的图像部分imgm和第二目标图像的对应位置的像素进行阿尔法混合计算,其中,在本步骤中,利用公式(3)进行阿尔法混合计算时,a为第二权重系数,其取值为第二权重图像的像素的基色分量的像素值。其中,imgm为下层图像,第二目标图像为上层图像,因此,对于imgm和第二目标图像的同一位置的像素的各基色分量,阿尔法混合计算公式如下:

d0r=ar*d1r+(1-ar)*d2r

d0g=gr*d1g+(1-ag)*d2g

d0b=ab*d1b+(1-ab)*d2b

其中,d1r、d1g、d1b分别为imgm的任一位置的像素的红、绿和蓝三基色分量的像素值,d2r、d2g、d2b分别为第二目标图像的对应位置的像素的红、绿和蓝三基色分量的像素值,ar、ag、ab为第二权重系数,取值分别为第二权重图像中对应位置的像素的红、绿和蓝三基色分量的像素值,d0r、d0g、d0b分别为imgm和第二目标图像阿尔法混合处理后得到的第三目标图像在对应位置的像素的红、绿和蓝三基色分量的像素值。

203、输出具有目标发色的第三目标图像。

具有目标发色的第三目标图像作为最终的目标图像显示给用户。

本实施例,通过利用直方图均衡化处理后的第二权重图像以确定阿尔法混合处理的权重系数,从而基于该权重系数对待处理图像中头发区域的图像部分和第二目标图像做阿尔法混合处理,可以提高第三目标图像的对比度,使得发色改变后的目标图像显示效果更佳。

当然,在其他实施例中,还可以基于第二权重图像确定的第二权重系数,对头发区域的图像部分和第一目标图像做阿尔法混合处理,将混合处理后得到的图像作为最终的目标图像输出给用户。

为了更好地实施以上方法,本发明实施例还提供一种图像处理装置,简称图像处理装置,该图像处理装置例如可以集成在手机等终端设备中。如图3a所示,图像处理装置包括:第一获取模块301、确定模块302、生成模块303、第二获取模块304、变形处理模块305以及第一处理模块306。

其中,第一获取模块301用于获取用户选择的待处理图像以及目标发色。

例如,根据用户在图像处理界面中打开的图片以及选定的目标发色,获取用户选择的待处理图像以及目标发色。

确定模块302用于确定待处理图像的头发区域。

其中,可以根据头发像素的特征信息对待处理图像进行头发检测,根据检测到的头发像素确定待处理图像的头发区域。头发检测的方式可以有多种,例如基于颜色空间统计的发色检测、基于概率模型、高斯模型的发色检测或者基于神经网络机器学习的发色检测,等等。

生成模块303用于根据目标发色生成目标颜色图像。

目标颜色图像为显示用户所选择的目标发色的图像,其根据用户所选择的目标发色而确定,例如,用户选择的目标发色为红色,则目标颜色图像为显示红色的图像。

第二获取模块304用于获取头发区域中发丝的轨迹数据。

发丝轨迹的获取方式可以有多种,例如通过检测发丝的方向来确定发丝的轨迹,其中发丝的方向例如可以通过gabor滤波器进行检测。确定发丝的轨迹后,可以沿着发丝轨迹选择发丝轨迹上的多个像素点的位置信息,以获得发丝的轨迹数据。

变形处理模块305用于基于发丝的轨迹数据对目标颜色图像进行变形处理。

对目标颜色图像进行变形处理是指对目标颜色图像的像素的位置进行调整,达到图像变形的目的。对目标颜色图像进行变形处理的方式可以有多种,例如移动最小二乘法图像变形算法、基于二维插值的图像变形算法或者基于轮廓多边形的图像变形算法,等等。

可选地,图像处理装置进一步还可以包括缩放处理模块307。

缩放处理模块307用于在变形处理模块305对目标颜色图像进行变形处理之前,对目标颜色图像进行缩放处理。例如,缩放处理模块307用于根据待处理图像的头发区域确定头发区域的形状的外接矩形,基于外接矩形对目标颜色图像进行缩放处理,以使得目标颜色图像的尺寸与外接矩形的尺寸一致。

其中,基于外接矩形对目标压缩图像的缩放处理具体为调节目标压缩图像的长和宽,以使得目标颜色图像的长和宽分别等同于外接矩形的长和宽,从而使得目标颜色图像的尺寸与头发区域的尺寸大致相同。

以移动最小二乘法图像变形算法为例,变形处理模块305具体用于基于发丝轨迹数据对缩放处理后的目标颜色图像进行变形处理,例如,变形处理模块305用于获取每根发丝的轨迹数据,每根发丝的轨迹数据为一个点数组dstlist-n(p1,p2,……,pn),点数组中的每个元素pn为发丝轨迹上的一个像素点的坐标信息,然后获取缩放处理后的目标颜色图像中预定位置上线条的轨迹数据,其中预定位置上的线条例如可以是缩放处理后的目标颜色图像的中线,通过获取目标颜色图像上中线的轨迹数据,以得到预定位置上线条的轨迹数据,该中线的轨迹数据是指在中线轨迹上的像素点在目标颜色图像中的位置信息,例如可以用一个点数组srclist(s1,s2,……,sn),其中点数组srclist(s1,s2,……,sn)与点数组dstlist-n(p1,p2,……,pn)的数组长度相同,均为n。

此后,变形处理模块305用于依次根据每根发丝的轨迹数据和预定位置线条的轨迹数据,调整缩放处理后的目标颜色图像中像素的位置,得到多个发丝颜色图像。

设定目标颜色图像的中线的轨迹数据为原始控制点位置的集合,设定单根发丝的轨迹数据为变形后控制点位置的集合,根据基于点的移动最小二乘法的图像变形算法原理可知,根据原始控制点的集合和变形后控制点位置的集合可以确定一个变形函数,从而根据该变形函数对缩放处理后的目标颜色图像进行变形处理,也即调整目标颜色图像中像素的位置,其中该变形函数中的变量为目标颜色图像的任意像素点的坐标,而变形函数的值则为变形后的像素点坐标,由此可以得到调整像素位置之后的目标颜色图像,即单根发丝对应的发丝颜色图像,以此类推得到每根发丝对应的发丝颜色图像,由此得到多个发丝颜色图像。

之后,变形处理模块305用于将多个发丝颜色图像的对应位置的像素进行滤色混合处理,得到变形后的目标颜色图像。

例如,对于滤色混合处理得两个图像,其中一个图像设为上层图像,另一个图像作设为下层图像(也即背景图像),则滤色混合的计算公式如下:

p0=1-(1-p1)*(1-p2)

其中,p1表示滤色混合算法的基色值,其取值为上层图像中任一位置的像素的任一基色分量的像素值,p2表示滤色混合算法中的混合色值,其取值为下层图像(也即背景图像)中对应位置的像素的相应基色分量的像素值,p0表示滤色混合处理后得到的新图像在对应位置的像素的相应基色分量的像素值。

本实施例中,当在待处理图像中检测出m根发丝的轨迹时,多个发丝颜色图像的数量也为m,设定m个发丝颜色图像分别为imgh1、imgh2、imgh3、……、imghm,m个发丝颜色图像的滤色混合处理方式可以有多种,例如如下:

首先利用上述滤色混合计算公式对imgh1和imgh2进行滤色混合处理,其中imgh1为上层图像,imgh2为下层图像,依次对imgh1和imgh2中每个对应位置的像素的三基色分量的像素值进行滤色混合计算,从而可得到一个滤色混合处理后的新发丝颜色图像,然后,利用上述滤色混合计算公式对新发丝颜色图像与下一个发丝颜色图像imgh3的对应位置的像素的三基色分量的像素值进行滤色混合计算,其中新发丝颜色图像为上层图像,下一个发丝颜色图像imgh3为下层图像,以此类推,直至计算至最后一个发丝颜色图像imghm,最终的计算结果即为变形后的目标颜色图像,即变形后的目标颜色图像为多个发丝颜色图像滤色混合处理后得到的图像。

第一处理模块306用于将头发区域的图像部分与变形后的目标颜色图像的对应位置的像素进行滤色混合处理,得到具有目标发色的第一目标图像。

例如,第一处理模块306具体可以用于获取头发区域的图像部分的第一待处理像素的位置、以及红、绿和蓝三基色分量的像素值,然后获取变形后的目标颜色中与第一待处理像素的位置对应的第二待处理像素的红、绿和蓝三基色分量的像素值,以第一待处理像素的各基色分量的像素值为基色值、第二待处理像素的各基色分量的像素值为混合色值,将所述第一待处理像素和第二待处理像素的同一基色分量的像素值进行滤色混合处理。

其中,变形后的目标颜色图像用imgl表示,待处理图像中头发区域的图像部分用imgm表示,可以使用上述滤色混合计算公式对imgm和imgl的对应位置的像素的各基色分量的像素值进行滤色混合处理计算,其中,imgm为上层图像,imgl为下层图像,具体的计算过程可参考上述imgh1和imgh2的滤色混合计算过程进行此处不进行一一赘述。利用上述滤色混合计算公式依次对imgm和imgl中每个对应位置的像素的同一基色分量的像素值进行滤色混合计算,每次计算的结果作为对应位置的像素的同一基色分量的新像素值,从而可以得到具有目标发色的第一目标图像,由此实现将待处理图像中的发丝颜色修改为用户所选择的目标发色,实现了图像的染发效果。

本实施例中,根据用户选择的目标发色生成目标颜色图像,并利用待处理图像中发丝的轨迹数据对目标颜色图像进行变形处理,从而可以在目标颜色图像上得到发丝对应的纹理,由此通过目标颜色图像确定了单根发丝所需要改变的颜色,使得发色改变不受待处理图像中的背景发色的约束,能够实现将图像中的头发颜色改变为深色系颜色、浅色系颜色或者渐变颜色,从而可以提供包括深色系、浅色系或渐变色的目标发色供用户选择,满足用户的多样化需求。

可选地,如图3b所示,本发明实施例提供的图像处理装置进一步还可以包括第二处理模块308、第三处理模块309和输出模块310。

其中,第二处理模块308用于在第一处理模块306得到具有目标发色的第一目标图像之后,用于对头发区域的图像部分和第一目标图像的对应位置的像素进行阿尔法混合处理,得到具有目标发色的第二目标图像。

例如,第二处理模块308具体用于根据待处理图像的头发区域生成头发区域图像,然后将头发区域图像和变形后的目标颜色图像的对应位置的像素进行柔光混合处理,得到第一权重图像,从而根据第一权重图像确定第一权重系数,然后基于第一权重系数对头发区域的图像部分和第一目标图像的对应位置的像素进行阿尔法混合处理,得到具有目标发色的第二目标图像。

其中,头发区域图像是指仅显示头发区域的图像部分的图像,头发区域图像中除了头发区域的图像部分之外的背景色均为黑色,本实施方式中,头发区域图像为单通道图像。

本实施例中,对头发区域图像和变形后的目标颜色图像imgl的对应位置的像素进行柔光混合计算时,头发区域图像用imgf表示,imgf为上层图像,imgl为下层图像,其中imgf为单通道灰度图像,只有一个基色分量,该基色分量的像素值又称灰度值,因此,对于imgf和imgl的同一位置的像素的各基色分量,柔光混合计算公式如下:

其中,u1x为imgf的任一位置的像素的基色分量的像素值,u2r、u2g、u2b分别为imgl的对应位置的像素的红、绿和蓝三基色分量的像素值,u0r、u0g、u0b分别为柔光混合后得到的第一权重图像的对应位置的红、绿和蓝三基色分量的像素值。

在利用上述公式依次对imgf和imgl中每个对应位置的像素的三基色分量的像素值进行柔光混合计算,从而可得到一个柔光混合处理后的第一权重图像。

其中,对头发区域的图像部分imgm和第一目标图像的对应位置的像素进行阿尔法混合计算时,imgm为下层图像,第一目标图像为上层图像,因此,对于imgm和第一目标图像的同一位置的像素的各基色分量,阿尔法混合计算公式如下:

d0r=ar*d1r+(1-ar)*d2r

d0g=gr*d1g+(1-ag)*d2g

d0b=ab*d1b+(1-ab)*d2b

其中,d1r、d1g、d1b分别为imgm的任一位置的像素的红、绿和蓝三基色分量的像素值,d2r、d2g、d2b分别为第一目标图像的对应位置的像素的红、绿和蓝三基色分量的像素值,ar、ag、ab为第一权重系数,取值分别为第一权重图像中对应位置的像素的红、绿和蓝三基色分量的像素值,d0r、d0g、d0b分别为imgm和第一目标图像阿尔法混合处理后得到的第二目标图像在对应位置的像素的红、绿和蓝三基色分量的像素值。

在利用上述公式依次对imgm和第一目标图像中每个对应位置的像素的三基色分量的像素值进行阿尔法混合计算,从而可得到一个阿尔法混合处理后的第二目标图像。

通过对头发区域的图像部分进行进一步的柔光混合处理和阿尔法混合处理,可以优化头发边缘过渡,使得图像过渡更自然。

第三处理模块309用于对头发区域的图像部分和第二目标图像的对应位置的像素进行阿尔法混合处理,得到具有目标发色的第三目标图像。

例如,第三处理模块309具体可以用于获取待处理图像中头发区域的图像部分的亮度信息,以生成头发区域的图像部分的亮度通道图像,然后对亮度通道图像进行直方图均衡化处理,得到第二权重图像,从而根据第二权重图像确定第二权重系数,由此基于第二权重系数对头发区域的图像部分和第二目标图像进行阿尔法混合处理,得到具有目标发色的第三目标图像。

其中,对头发区域的图像部分imgm和第二目标图像的对应位置的像素进行阿尔法混合计算时,imgm为下层图像,第二目标图像为上层图像,因此,对于imgm和第二目标图像的同一位置的像素的各基色分量,阿尔法混合计算公式如下:

d0r=ar*d1r+(1-ar)*d2r

d0g=gr*d1g+(1-ag)*d2g

d0b=ab*d1b+(1-ab)*d2b

其中,d1r、d1g、d1b分别为imgm的任一位置的像素的红、绿和蓝三基色分量的像素值,d2r、d2g、d2b分别为第二目标图像的对应位置的像素的红、绿和蓝三基色分量的像素值,ar、ag、ab为第二权重系数,取值分别为第二权重图像中对应位置的像素的红、绿和蓝三基色分量的像素值,d0r、d0g、d0b分别为imgm和第二目标图像阿尔法混合处理后得到的第三目标图像在对应位置的像素的红、绿和蓝三基色分量的像素值。

输出模块310用于输出具有目标发色的第三目标图像,例如将第三目标图像进行显示。

通过利用直方图均衡化处理后的第二权重图像以确定阿尔法混合处理的权重系数,从而基于该权重系数对待处理图像中头发区域的图像部分和第二目标图像做阿尔法混合处理,可以提高第三目标图像的对比度,使得发色改变后的目标图像显示效果更佳。

相应的,本发明实施例还提供一种终端,如图4所示,该终端可以包括射频(rf,radiofrequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(wifi,wirelessfidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

rf电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,rf电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim,subscriberidentitymodule)卡、收发信机、耦合器、低噪声放大器(lna,lownoiseamplifier)、双工器等。此外,rf电路401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(gsm,globalsystemofmobilecommunication)、通用分组无线服务(gprs,generalpacketradioservice)、码分多址(cdma,codedivisionmultipleaccess)、宽带码分多址(wcdma,widebandcodedivisionmultipleaccess)、长期演进(lte,longtermevolution)、电子邮件、短消息服务(sms,shortmessagingservice)等。

存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。

输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元404可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路406、扬声器,传声器可提供用户与终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经rf电路401以发送给比如另一终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与终端的通信。

wifi属于短距离无线传输技术,终端通过wifi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了wifi模块407,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器408是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。

终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从而实现各种功能:

获取用户选择的待处理图像以及目标发色,确定待处理图像的头发区域,以及根据目标发色生成目标颜色图像,然后获取头发区域中发丝的轨迹数据,从而基于发丝的轨迹数据对目标颜色图像进行变形处理,之后将头发区域的图像部分与变形后的目标颜色图像的对应位置的像素进行滤色混合处理,得到具有目标发色的第一目标图像。

例如,可以采用最小二乘法图像变形算法对目标颜色图像进行变形处理。

其中,在得到第一目标图像之后,还可以对头发区域的图像部分和第一目标图像的对应位置的像素进行阿尔法混合处理,以得到具有目标发色的第二目标图像,从而可以优化第二目标图像的头发丝边缘过渡。例如,可以对头发区域图像和变形后的目标颜色图像的对应位置的像素进行柔光混合处理,以得到第一权重图像,然后基于第一权重图像所确定的第一权重系数进行阿尔法混合处理。

进一步地,在得到第二目标图像之后,还可以对头发区域的图像部分和第二目标图像的对应位置的像素进行阿尔法混合处理,以得到具有目标发色的第三目标图像。例如,可以对头发区域的图像部分的亮度通道图像进行直方图均衡化处理,以得到第二权重图像,从而基于第二权重图像所确定的第二权重系数进行阿尔法混合处理。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本发明实施例中,根据用户选择的目标发色生成目标颜色图像,并利用待处理图像中发丝的轨迹数据对目标颜色图像进行变形处理,从而可以在目标颜色图像上得到发丝对应的纹理,由此通过目标颜色图像确定了单根发丝所需要改变的颜色,使得发色改变不受待处理图像中的背景发色的约束,能够实现将图像中的头发颜色改变为深色系颜色、浅色系颜色或者渐变颜色,从而可以提供包括深色系、浅色系或渐变色的目标发色供用户选择,满足用户的多样化需求。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例还提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种图像处理方法中的步骤。例如,该指令可以如下步骤:

获取用户选择的待处理图像以及目标发色,确定待处理图像的头发区域,以及根据目标发色生成目标颜色图像,然后获取头发区域中发丝的轨迹数据,从而基于发丝的轨迹数据对目标颜色图像进行变形处理,之后将头发区域的图像部分与变形后的目标颜色图像的对应位置的像素进行滤色混合处理,得到具有目标发色的第一目标图像。

例如,可以采用最小二乘法图像变形算法对目标颜色图像进行变形处理。

其中,在得到第一目标图像之后,还可以对头发区域的图像部分和第一目标图像的对应位置的像素进行阿尔法混合处理,以得到具有目标发色的第二目标图像,从而可以优化第二目标图像的头发丝边缘过渡。例如,可以对头发区域图像和变形后的目标颜色图像的对应位置的像素进行柔光混合处理,以得到第一权重图像,然后基于第一权重图像所确定的第一权重系数进行阿尔法混合处理。

进一步地,在得到第二目标图像之后,还可以对头发区域的图像部分和第二目标图像的对应位置的像素进行阿尔法混合处理,以得到具有目标发色的第三目标图像。例如,可以对头发区域的图像部分的亮度通道图像进行直方图均衡化处理,以得到第二权重图像,从而基于第二权重图像所确定的第二权重系数进行阿尔法混合处理。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种图像处理方法中的步骤,因此,可以实现本发明实施例所提供的任一种图像处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本发明实施例所提供的一种图像处理方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1