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

文档序号:31066294发布日期:2022-08-09 20:28阅读:71来源:国知局
一种图像处理方法、装置、设备及可读存储介质与流程

1.本技术涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、设备及可读存储介质。


背景技术:

2.随着科技的高速发展和移动终端的快速普及,越来越多的线下需求转移到了线上。为了满足用户随时随地、方便快捷的通过移动手机拍摄各种证件照和修改处理证件照的需求,现有技术中提供了多种证件照应用。但是,利用这些证件照应用所提供的换装技术得到的换装效果较差,从而影响了图像的显示效果。


技术实现要素:

3.本技术实施例提供一种图像处理方法、装置、设备及可读存储介质,以提高图像的显示效果。
4.第一方面,本技术实施例提供了一种图像处理方法,包括:
5.获取待处理图像,所述待处理图像包括头部区域和颈部区域;
6.确定所述人物的颈部区域是否为预设姿态,其中,所述预设姿态包括缩脖子的姿态和/或歪脖子的姿态;
7.若所述颈部区域为预设姿态,对所述待处理图像中的颈部区域进行调整,得到目标图像;
8.将所述目标图像与服装素材图像进行合成。
9.第二方面,本技术实施例还提供一种图像处理装置,包括:
10.第一获取模块,用于获取待处理图像,所述待处理图像包括头部区域和颈部区域;
11.第一确定模块,用于确定所述人物的颈部区域是否为预设姿态,其中,所述预设姿态包括缩脖子的姿态和/或歪脖子的姿态;
12.第二获取模块,用于若所述颈部区域为预设姿态,对所述待处理图像中的颈部区域进行调整,得到目标图像;
13.第一合成模块,用于将所述目标图像与服装素材图像进行合成。
14.第三方面,本技术实施例还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上所述的图像处理方法中的步骤。
15.第四方面,本技术实施例还提供一种可读存储介质,所述可读存储介质上存储程序,所述程序被处理器执行时实现如上所述的图像处理方法中的步骤。
16.在本技术实施例中,当确定待处理图像中人物的颈部区域的姿态为缩脖子的姿态和/或歪脖子的姿态时,对所述待处理图像中的颈部区域进行调整,得到目标图像,并将所述目标图像与服装素材图像进行合成,得到合成的图像。由于本技术实施例的方案可以根据颈部区域的姿态而对其进行调整,因此,利用本技术实施例的方案,可以避免由于人物的
位置姿态不正导致的合成后的衣服位置偏移、歪曲等问题,从而提高了图像的显示效果。
附图说明
17.图1是本技术实施例提供的图像处理方法的流程图;
18.图2是本技术实施例得到的人脸关键点的示意图;
19.图3是本技术实施例提供的肩颈点预测点的示意图;
20.图4是本技术实施例提供的标准颈肩点的示意图;
21.图5是本技术实施例提供的标准颈肩点和颈肩预测点的示意图;
22.图6是本技术实施例提供的第一人脸关键点、第二人脸关键点的示意图;
23.图7是本技术实施例提供的左、右两侧衣领定位点的示意图;
24.图8(a)是本技术实施例提供的左侧衣领参考点(c)和右侧衣领参考点(d)的示意图;
25.图8(b)是本技术实施例提供的服装素材图像的示意图;
26.图9是本技术实施例提供的图像处理装置的结构图。
具体实施方式
27.本技术实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
28.本技术实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,并不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
30.参见图1,图1是本技术实施例提供的图像处理方法的流程图,如图1所示,包括以下步骤:
31.步骤101、获取待处理图像。
32.其中,所述待处理图像包括人物的头部区域和颈部区域。可选的,在本技术实施例中,待处理图像可包括第一掩码子图像和第二掩码子图像,所述第一掩码子图像包括人物的头部区域,所述第二掩码子图像包括人物的颈部区域。
33.在通过拍摄装置获得某个人物的原始图像之后,首先,可根据画布大小,对原始图像进行尺寸调整,得到第一中间图像。其中,所述画布可以是正方形,也可以是矩形的。在此不对画布的具体形状进行限定。具体的,可根据人物的人脸关键点检测信息,通过人脸关键点的点位计算得到该人物的头宽,并按照预设的头宽与画布边长之间的比例系数,将头部按比例进行缩放,居中置于画布(如正方形画布)中。之后,按照预设的下巴至画布下边缘高度与画布边长的比例系数,调整缩放后的原始图像在画布中的高度,得到头部居中、固定高度的画布大小的图像,作为第一中间图像。
34.接着,对所述第一中间图像进行人像分割(如发丝级人像分割),得到所述第一掩码子图像和第三掩码子图像,其中,所述第一掩码子图像包括人物的头部区域,所述第三掩
码子图像包括人物的头部区域和颈部区域。具体的,通过发丝级人像分割,获得包含头发和脸部的头部区域掩码,即第一掩码子图像,以及,包含头发、脸部和露出的颈部区域的头部带颈部区域掩码,即第三掩码子图像。
35.之后,根据所述第一掩码子图像和所述第三掩码子图像,得到所述第二掩码子图像。例如,可将所述第一掩码子图像减去所述第三掩码子图像,得到所述第二掩码子图像。具体的,利用头部区域掩码抠出头部区域纹理,将上述人头区域掩码和头部带颈部区域掩码相减后,获得颈部区域掩码,用此颈部区域掩码还可抠出颈部区域纹理。
36.在本技术实施例中,可对图像中的人脸关键点、颈肩关键点进行检测。其中,在此不对具体采用的检测方法进行限定。如图2所示,为本技术实施例中利用106点关键点检测模型得到的人脸关键点的示意图。如图3所示,为本技术实施例中利用18点颈肩点检测模型得到的肩颈点预测点的示意图。在这个过程中,通过深度学习对预先标记的数据进行训练,预测得到从颈部的左、右侧到脖颈、到肩膀的18个肩颈预测点。其中0、17点是颈部区域和人脸区域(如脸部下巴)的交界点,4、13点是颈部区域和肩部区域的转折交界点,0至3点、14至17点是颈部区域左右两侧的各定位点,5至8点、9至12点是肩部区域两侧标识肩膀的走向的定位点。
37.步骤102、确定所述人物的颈部区域是否为预设姿态,其中,所述预设姿态包括缩脖子的姿态和/或歪脖子的姿态。
38.在本技术实施例中,主要针对缩脖子的姿态、歪脖子的姿态进行调整。两种调整方式可独立执行,也可结合执行,例如,先调整缩脖子的姿态再调整歪脖子的姿态,或者,先调整歪脖子的姿态再调整缩脖子的姿态。
39.(1)确定人物的颈部区域是否为缩脖子的状态。
40.在此过程中,可包括如下步骤:
41.s11、获取第一参考值,其中,所述第一参考值为所述人物的人脸关键点中的第一点和第三点的纵坐标差值与第二点和所述第三点的纵坐标差值的最大值,所述第一点和第二点为所述人物的颈部区域和人脸区域的交界点,所述第三点为所述人物的下巴区域的关键点中,位于人脸最下方的关键点
42.例如,所述第一点、第二点可以为图2中的10、22点;第三点为图2中的16点。
43.设最大值为jawh,10、16、22点的纵坐标分别为:facepoint[10].y、facepoint[16].y、facepoint[22].y。那么,可得如下公式:
[0044]
jawh=facepoint[16].y-min(facepoint[22].y,facepoint[10].y),min()表示取最小值。
[0045]
s12、获取第二参考值,其中,所述第二参考值为所述人物的颈肩预测点中的第四点和第五点之间的第一距离与第六点和第七点之间的第二距离的最大值,所述第四点、所述第六点为所述人物的颈部区域和人脸区域的交界点,所述第五点、所述第七点为所述人物的颈部区域和肩部区域的交界点。第四点、第六点分别位于颈部区域的左右两侧,第五点和第七点分别位于肩部区域两侧,且,第四点、第五点都位于左侧,第六点、第七点都位于右侧;或者,第四点、第五点都位于右侧,第六点、第七点都位于左侧。
[0046]
在此,主要是计算颈部区域的长度neckh。其中,第四点和第五点之间的第一距离例如可以为图3中的肩颈预测点中0、4点之间的距离,第六点和第七点之间的第二距离例如
可以为图3中的肩颈预测点中13、17点之间距离。
[0047]
s13、若所述第一参考值小于所述第二参考值,确定所述人物的颈部区域存在缩脖子的情况。否则,可认为不存在缩脖子的情况。这种情况下,可结束流程,或者再接着判断是否存在歪脖子的姿态。
[0048]
(2)确定人物的颈部区域是否为歪脖子的状态。
[0049]
在此过程中,可包括如下步骤:
[0050]
s21、获取第一颈部走势线的第一斜率,所述第一颈部走势线利用颈肩预测点中的第八点、第九点、第十点、第十一点形成。
[0051]
其中,第八点、第九点、第十点、第十一点依次为所述颈部区域的第一侧中、从颈部区域和人脸区域的交界处至颈肩交界处的预测点。例如,图3中的0至3点。
[0052]
所述第一侧为左侧,下文的第二侧为右侧;或者,所述第一侧为右侧,所述第二侧为左侧。
[0053]
具体的,在此步骤中,利用最小二乘法拟合所述第八点、第九点、第十点、第十一点的走势线,得到所述第一颈部走势线,并获得所述第一斜率。其中,所述第一斜率可以是该第一颈部走势线中的任意两点形成的斜率,也可以是多个点形成的斜率的平均值。
[0054]
s22、获取第二颈部走势线的第二斜率,所述第二颈部走势线利用所述颈肩预测点中的第十二点、第十三点、第十四点、第十五点形成。
[0055]
其中,第十二点、第十三点、第十四点、第十五点为所述颈部区域的第二侧中、从颈肩交界处至颈部区域和人脸区域的交界处的预测点。例如,图3中的14至17点。
[0056]
具体的,在此步骤中,利用最小二乘法拟合所述第十二点、第十三点、第十四点、第十五点的走势线,得到所述第二颈部走势线,并获得所述第二斜率。其中,所述第二斜率可以是该走势线中任意两点形成的斜率,也可以是多个点形成的斜率的平均值。
[0057]
s23、若所述第一斜率和/或所述第二斜率未位于预设范围内,确定所述人物的颈部区域为歪脖子的姿态。
[0058]
该预设范围可以根据需要设置。为了进一步提高图像效果,在此,可在所述第一斜率和所述第二斜率均未位于预设范围内时,确定所述人物的颈部区域为歪脖子的姿态。
[0059]
步骤103、若所述颈部区域为预设姿态,对所述待处理图像中的颈部区域进行调整,得到目标图像。
[0060]
具体的,在此根据映射关系,对所述颈肩预测点的位置进行调整,得到目标图像。
[0061]
其中,所述映射关系为所述颈肩预测点中的各预测点与标准颈肩点中的各点之间的对应关系。
[0062]
若确定颈部区域的姿态为缩脖子的姿态,所述映射关系可以按照如下方式形成:
[0063]
首先,可获取该人物对应的标准颈肩点的信息。如图4所示,为标准肩颈点的18点位信息的示意图。在此,课将标准颈肩点中的第四点、第六点分别和人脸关键点中的第一点和第二点对齐,所述颈肩标准点中的第四点、所述第六点为颈部区域和人脸区域的交界点。颈肩标准点中的第四点、所述第六点分别位于颈部区域左右两侧。所述第一点和所述第二点为人脸关键点中的所述人物的颈部区域和人脸区域的交界点,分别位于脸部的左右两侧。具体的,将第四点和第六点中居于左侧的点和第一点和第二点中居于左侧的点对齐,将第四点和第六点中居于右侧的点和第一点和第二点中居于右侧的点对齐。例如,如图4所
示,可将标准肩颈点位中的0点与17点分别与人脸关键点中的第10、22点对齐。
[0064]
此外,还可将其他标准肩颈点按照比例关系缩放坐标,得到当前人脸下的标准肩颈点。
[0065]
接着,建立映射关系,具体如下:
[0066]
结合图5所示,在颈部的左侧内侧、右侧内侧标注的点为标准颈肩点,在颈部的左侧外侧、右侧外侧标注的点为颈肩预测点中的各预测点。以图5为例:
[0067]
(1)建立颈肩预测点中的第四点、第六点和标准颈肩点中的第四点、第六点之间的对应关系。
[0068]
所述颈肩标准点中的第四点、所述第六点为颈部区域和人脸区域的交界点,且分别位于左右两侧。所述颈肩预测点中的第四点、所述第六点为所述人物的颈部区域和人脸区域的交界点,且分别位于左右两侧。
[0069]
如图5所示,颈肩标准点中的第四点、第六点可分别为0、17点;颈肩预测点中的第四点、第六点可分别为0、17点。因此,在此,可将颈肩预测点中的0、17点与距离最近的标准肩颈点0、17点建立对应关系。
[0070]
(2)建立颈肩预测点中的第五点、第七点和标准颈肩点中的第五点、第七点之间的对应关系。所述颈肩预测点中的第五点、所述第七点分别为与颈肩预测点中的第五点、第七点距离最近的标准点。
[0071]
如图5所示,颈肩预测点中的第五点、第七点可分别为4、13点。因此,在此,可检测与颈肩预测点中的4、13点的距离最近的标准肩颈点。以图5为例,假设标准肩颈点中的1(第五点)、16(第七点)点与颈肩预测点中的4、13的距离最近;将颈肩预测点中的4、13点与标准肩颈点中的1、16建立对应关系。
[0072]
(3)对于除所述第四点、第五点、第六点、第七点外的其他颈肩预测点中的第一预测点,分别和颈肩标准点中除第四点、第五点、第六点、第七点之外的第一标准点通过插值的方式建立对应关系。第一预测点可为除上述(1)、(2)中已建立对应关系的颈肩预测点中的任意一点,第一标准点可为除上述(1)、(2)中已建立对应关系的颈肩标准点中的任意一点。
[0073]
结合图5所示,将其他标准肩颈点分别与颈肩预测点中的5至8点、9至12点通过插值建立对应关系。
[0074]
通过以上过程,建立的对应关系如表1所示:
[0075]
表1
[0076]
颈肩预测点标准肩颈点0、170、174、131、165、122、156、114、137、106、118、98、9
[0077]
在获得上述映射关系之后,可根据映射关系,对所述颈肩预测点的位置进行调整,得到目标图像。也即,按照标准颈肩点的位置,将表1中的各颈肩预测点调整到对应的标准
颈肩点所在的位置。
[0078]
同样,若确定颈部区域的姿态为歪脖子的姿态,也可按照相同的原理得到目标图像。
[0079]
具体的,若确定颈部区域的姿态为歪脖子的姿态,可按照如下方式进行处理:
[0080]
首先,可获取该人物对应的标准颈肩点的信息。其中,获取该人物对应的标准颈肩点的信息的方式,和确定颈部区域的姿态为缩脖子的姿态时,获取该人物对应的标准颈肩点的信息的方式相同。
[0081]
接着,建立映射关系。在此,分别建立颈肩预测点中的各预测点和颈肩标准点中的各标准点之间的对应关系,其中,在同一颈肩点检测模型中,具有对应关系的颈肩预测点和颈肩标准点具有相同的编号。也即可将颈肩预测点中的各点与标准肩颈点中的各点一一对应(例如,颈肩预测点的0点对应标准颈肩点中的0点等),从而建立映射关系。之后,可利用第二掩码子图像和该映射关系调整颈肩预测点中的各点的位置。
[0082]
在本技术实施例中,可先按照上述方式调整完歪脖子的情况之后,再按照上述方式调整缩脖子的情况;或者,也可先按照上述方式调整完缩脖子的情况之后,再按照上述方式调整歪脖子的情况。
[0083]
步骤104、将所述目标图像与服装素材图像进行合成。
[0084]
其中,所述目标图像可以理解为包括调整后的颈部区域以及人脸区域的图像。
[0085]
具体的,在此步骤中,可包括如下过程:
[0086]
s1、获取第三参考值。
[0087]
在此步骤中,根据所述待处理图像所位于的画布的大小、所述服装素材图像的颈部露出系数,得到所述第三参考值。
[0088]
其中,所述画布的大小,在此主要指的是画布的长宽中较短的一个长度。所述服装素材图像的颈部露出系数是个已知的值,根据不同服装素材情况而不同,高领衣服对应的该系数小,低领衣服对应的该系数大。
[0089]
如图6所示,在前述获得的目标图像中,可获取脸部轮廓上、颈部和脸部连接的左右边界点a、b,即第一人脸关键点、第二人脸关键点。在实际应用中,可利用预先获取的大量标记了a、b两点的人像图片,通过深度学习的方法进行模型训练,并使用训练好的模型,检测得到该边界点a、b。在本技术实施例中,可将人脸关键点中的第10、22点设置为a、b点。
[0090]
所述服装素材中的左侧衣领参考点和右侧衣领参考点,可以认为是已知的两点,标记在服装素材图像中。其中,左侧衣领参考点(c)和右侧衣领参考点(d)相对a、b两点在竖直方向的向下偏移量为:diff=l
×
nockposratio,其中,diff表示向下偏移量,l为画布的长宽中较短的一个长度,nockposratio表示所述服装素材图像的颈部露出系数。
[0091]
s2、根据第一人脸关键点的纵坐标和第二人脸关键点的纵坐标中的最大值,以及所述第三参考值,得到第四参考值。其中,所述第一人脸关键点、所述第二人脸关键点位于颈部区域左右两侧的颈部区域和人脸区域的交界处。
[0092]
在此步骤中,将所述最大值与所述第三参考值的和,作为所述第四参考值。
[0093]
通过对a、b两点的检测,可得到其对应的横纵坐标。那么,第四参考值clothy可表示为:
[0094]
clothy=max(a.y,b.y)+diff,其中,max()代表取最大值,a.y、b.y分别表示a、b两
点的纵坐标,diff表示前述的向下偏移量。
[0095]
其中,该第四参考值即被作为下述的左侧衣领定位点和右侧衣领定位点的纵坐标。
[0096]
s3、在所述第二掩码子图像中,根据所述第四参考值确定左侧衣领定位点和右侧衣领定位点。
[0097]
在此步骤中,在所述第二掩码子图像中,遍历纵坐标为所述第四参考值的一行像素。在纵坐标为所述第四参考值的一行像素中,确定掩码有效的第一个像素点的第一横坐标以及掩码有效的最后一个像素点的第二横坐标。将横纵坐标分别为所述第一横坐标、所述第四参考值的点作为左侧衣领定位点,将横纵坐标分别为所述第二横坐标、所述第四参考值的点作为右侧衣领定位点。
[0098]
通常情况下,在获得掩码子图像,各个像素可根据其像素的灰度值的大小而被表示成黑、白不同的颜色。例如,颈部区域为白色,其他区域是黑色。因此,在此的掩码有效的像素点可以理解为包括黑色的像素点。
[0099]
也即,左、右两侧衣领定位点的坐标表示为(xleft,clothy)、(xright,clothy)。如图7所示,图中的点e、f即为左、右两侧衣领定位点。
[0100]
s4、根据所述第一掩码子图像、左侧衣领参考点、右侧衣领参考点、所述左侧衣领定位点以及所述右侧衣领定位点,将所述目标图像与服装素材图像进行合成。
[0101]
在合成的过程中,可首先根据所述第一掩码子图像得到头部区域纹理,并将所述头部区域纹理叠加于背景底色图层中,得到第二中间图像。然后,将所述目标图像加载到所述第二中间图像上,得到所述第三中间图像。之后,将所述左侧衣领参考点、所述右侧衣领参考点分别和所述左侧衣领定位点以及所述右侧衣领定位点按照映射关系加载到所述第三中间图像中,得到合成图像。
[0102]
图8(a)为左侧衣领参考点(c)和右侧衣领参考点(d)的示意图。例如,可根据前述获得的第一掩码子图像,从原图中抠出人物的头部区域纹理,并叠加于背景底色图层上。再将通过步骤103得到的修复后的颈部区域纹理贴于其上;最后,将图8(b)中的衣服素材中衣领两个顶点与左、右侧衣领定位点按照映射关系,将衣服素材贴到颈部区域纹理所在的层上,完成整个换装流程。在上述过程中,实际上是将左侧衣领参考点(c)和右侧衣领参考点(d)按照一定的映射关系分别和左侧衣领定位点以及所述右侧衣领定位点进行对齐的过程。该映射关系考虑了上述这些的坐标,位置关系等等因素而得到。
[0103]
换装完成后,再根据用户选择的证件照尺寸,对结果图按预制的尺寸比例进行裁剪,最后输出规定尺寸的证件照效果图。
[0104]
在本技术实施例中,当确定待处理图像中人物的颈部区域的姿态为缩脖子的姿态和/或歪脖子的姿态时,对所述待处理图像中的颈部区域进行调整,得到目标图像,并将所述目标图像与服装素材图像进行合成,得到合成的图像。由于本技术实施例的方案可以根据颈部区域的姿态而对其进行调整,因此,利用本技术实施例的方案,可以避免由于人物的位置姿态不正导致的合成后的衣服位置偏移、歪曲等问题,从而提高了图像的显示效果。
[0105]
本技术实施例还提供了一种图像处理装置。参见图9,图9是本技术实施例提供的图像处理装置的结构图。如图9所示,图像处理装置900包括:
[0106]
第一获取模块901,用于获取待处理图像,所述待处理图像包括人物的头部区域和
颈部区域;第一确定模块902,用于确定所述人物的颈部区域是否为预设姿态,其中,所述预设姿态包括缩脖子的姿态和/或歪脖子的姿态;第二获取模块903,用于若所述颈部区域为预设姿态,对所述待处理图像中的颈部区域进行调整,得到目标图像;第一合成模块904,用于将所述目标图像与服装素材图像进行合成。
[0107]
可选的,所述待处理图像包括:第一掩码子图像和第二掩码子图像,所述第一掩码子图像包括人物的头部区域,所述第二掩码子图像包括人物的颈部区域;所述第一获取模块包括:
[0108]
第一获取子模块,用于根据画布大小,对原始图像进行尺寸调整,得到第一中间图像;第二获取子模块,用于对所述第一中间图像进行人像分割,得到所述第一掩码子图像和第三掩码子图像,其中,所述第三掩码子图像包括头部区域和颈部区域;第三获取子模块,用于根据所述第一掩码子图像和所述第三掩码子图像,得到所述第二掩码子图像。
[0109]
可选的,所述预设姿态为缩脖子的姿态。所述第一确定模块包括:
[0110]
第一获取子模块,用于获取第一参考值,其中,所述第一参考值为所述人物的人脸关键点中的第一点和第三点的纵坐标差值与第二点和所述第三点的纵坐标差值的最大值,所述第一点和第二点为所述人物的颈部区域和人脸区域的交界点,所述第三点为所述人物的下巴区域的关键点中,位于人脸最下方的关键点;
[0111]
第二获取子模块,用于获取第二参考值,其中,所述第二参考值为所述人物的颈肩预测点中的第四点和第五点之间的第一距离与第六点和第七点之间的第二距离的最大值,所述第四点、所述第六点为所述人物的颈部区域和人脸区域的交界点,所述第五点、所述第七点为所述人物的颈部区域和肩部区域的交界点;
[0112]
第一确定子模块,用于若所述第一参考值小于所述第二参考值,确定所述人物的颈部区域存在缩脖子的情况。
[0113]
可选的,所述预设姿态为歪脖子的姿态。所述第一确定模块包括:
[0114]
第一获取子模块,用于获取第一颈部走势线的第一斜率,所述第一颈部走势线利用颈肩预测点中的第八点、第九点、第十点、第十一点形成;
[0115]
第二获取子模块,用于获取第二颈部走势线的第二斜率,所述第二颈部走势线利用所述颈肩预测点中的第十二点、第十三点、第十四点、第十五点形成;
[0116]
第一确定子模块,用于若所述第一斜率和/或所述第二斜率未位于预设范围内,确定所述人物的颈部区域为歪脖子的姿态;
[0117]
其中,第八点、第九点、第十点、第十一点依次为所述颈部区域的第一侧中、从颈部区域和人脸区域的交界处至颈肩交界处的预测点,第十二点、第十三点、第十四点、第十五点为所述颈部区域的第二侧中、从颈肩交界处至颈部区域和人脸区域的交界处的预测点;
[0118]
所述第一侧为左侧,所述第二侧为右侧;或者,所述第一侧为右侧,所述第二侧为左侧。
[0119]
其中,所述第一获取子模块,用于利用最小二乘法拟合所述第八点、第九点、第十点、第十一点的走势线,得到所述第一颈部走势线,并获得所述第一斜率;所述第二获取子模块,用于利用最小二乘法拟合所述第十二点、第十三点、第十四点、第十五点的走势线,得到所述第二颈部走势线,并获得所述第二斜率。
[0120]
可选的,所述第二获取模块用于:根据映射关系,对所述颈肩预测点的位置进行调
整,得到目标图像;
[0121]
其中,所述映射关系为所述颈肩预测点中的各预测点与标准颈肩点中的各点之间的对应关系。
[0122]
可选的,若所述预设姿态为歪脖子的姿态,按照如下方式建立所述映射关系:
[0123]
建立颈肩预测点中的第四点、第六点和标准颈肩点中的第四点、第六点之间的对应关系;
[0124]
建立颈肩预测点中的第五点、第七点和标准颈肩点中的第五点、第七点之间的对应关系;
[0125]
对于除所述第四点、第五点、第六点、第七点外的其他颈肩预测点中的第一预测点,分别和颈肩标准点中除第四点、第五点、第六点、第七点之外的第一标准点通过插值的方式建立对应关系;
[0126]
其中,所述颈肩标准点中的第四点、所述第六点为颈部区域和人脸区域的交界点,所述第五点、所述第七点分别为与颈肩预测点中的第五点、第七点距离最近的标准点;
[0127]
所述颈肩预测点中的第四点、所述第六点为所述人物的颈部区域和人脸区域的交界点,所述第五点、所述第七点为所述人物的颈部区域和肩部区域的交界点。
[0128]
可选的,若所述预设姿态为缩脖子的姿态,按照如下方式建立所述映射关系:
[0129]
分别建立颈肩预测点中的各预测点和颈肩标准点中的各标准点之间的对应关系,其中,在同一颈肩点检测模型中,具有对应关系的颈肩预测点和颈肩标准点具有相同的编号。
[0130]
可选的,所述第一合成模块包括:
[0131]
第一获取子模块,用于获取第三参考值;
[0132]
第二获取子模块,用于根据第一人脸关键点的纵坐标和第二人脸关键点的纵坐标中的最大值,以及所述第三参考值,得到第四参考值;
[0133]
第三获取子模块,用于在所述第二掩码子图像中,根据所述第四参考值确定左侧衣领定位点和右侧衣领定位点;
[0134]
第一合成子模块,用于根据所述第一掩码子图像、左侧衣领参考点、右侧衣领参考点、所述左侧衣领定位点以及所述右侧衣领定位点,将所述目标图像与服装素材图像进行合成。
[0135]
其中,所述第一获取子模块,用于根据所述待处理图像所位于的画布的大小、所述服装素材图像的颈部露出系数,得到所述第三参考值。所述第二获取子模块,用于将所述最大值与所述第三参考值的和,作为所述第四参考值。
[0136]
其中,所述第三获取子模块,包括:
[0137]
第一获取单元,用于在所述第二掩码子图像中,遍历纵坐标为所述第四参考值的一行像素,在纵坐标为所述第四参考值的一行像素中,确定掩码有效的第一个像素点的第一横坐标以及掩码有效的最后一个像素点的第二横坐标;
[0138]
第二获取单元,用于将横纵坐标分别为所述第一横坐标、所述第四参考值的点作为左侧衣领定位点,将横纵坐标分别为所述第二横坐标、所述第四参考值的点作为右侧衣领定位点。
[0139]
其中,所述第一合成子模块包括:
[0140]
第一获取单元,用于根据所述第一掩码子图像得到头部区域纹理,并将所述头部区域纹理叠加于背景底色图层中,得到第二中间图像;
[0141]
第二获取单元,用于将所述目标图像加载到所述第二中间图像上,得到所述第三中间图像;
[0142]
第一合成单元,用于将所述左侧衣领参考点、所述右侧衣领参考点分别和所述左侧衣领定位点以及所述右侧衣领定位点按照映射关系加载到所述第三中间图像中,得到合成图像。
[0143]
本技术实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0144]
需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0145]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0146]
本技术实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如前所述的图像处理方法中的步骤。
[0147]
本技术实施例还提供一种可读存储介质,可读存储介质上存储有程序,该程序被处理器执行时实现上述图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的可读存储介质,可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
[0148]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0149]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。根据这样的理解,本技术的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁盘、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0150]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1