虚拟服装穿戴方法、穿戴比例计算方法及装置、电子设备与流程

文档序号:24878831发布日期:2021-04-30 12:56阅读:186来源:国知局
虚拟服装穿戴方法、穿戴比例计算方法及装置、电子设备与流程

本申请涉及虚拟服装穿戴的技术领域,具体而言,涉及一种虚拟服装穿戴方法、穿戴比例计算方法及装置、电子设备。



背景技术:

随着科技的快速发展,网购已经成为很多人日常生活不可缺少的一部分。网上购物平台中,服装的种类繁多,给用户提供了多样化的选择,为了解决在网上购买服装无法确定该服装的上身效果,网上虚拟试衣系统应运而生。

现有技术中,可以将服装的版片打版,使其贴合到人体模型对应的安排点上,使用此种方案,即使修改了人体模型的身材,服装版片仍会随着安排点的改动而改变位置,但如果直接使用此种方案,会出现一些布料纠缠在一起的现象,影响实际使用效果。



技术实现要素:

本申请提供一种虚拟服装穿戴方法、穿戴比例计算方法及装置、电子设备,用于解决布料纠缠的问题。

第一方面,本申请实施例提供一种虚拟服装穿戴方法,包括:获取待穿戴三维服装的人体模型;获取所述人体模型的比例对照点h′,所述h′为所述人体模型的上身安排面的最高点hup′或所述人体模型的下身安排面的最高点hdown′;根据所述h′和p计算出所述虚拟服装穿戴在所述人体模型上时的最高点l′,所述l′=h′·p,所述p为预设的所述虚拟服装与标准人体模型的穿戴比例关系;将穿戴在所述人体模型上的所述虚拟服装沿世界坐标系中与所述人体模型高度方向一致的轴整体移动l′-l距离,所述l为所述虚拟服装穿戴在所述标准人体模型上时的最高点。

本申请中,当人体模型的姿态一致的情况下,同一件虚拟服装穿戴到不同身高、不同体重的人体模型上时,所述虚拟服装的整体形态是基本保持不变的,而仅仅只有“干瘪”、“饱满”的细致差别,除此之外就是服装在不同人体模型上的高度不同,因此根据标准人体模型得到的服装姿态信息,通过对服装进行上下平移,即可使虚拟服装穿戴到所述人体模型上。因此,根据人体模型的比例对照点h′和预设的所述虚拟服装与标准人体模型的穿戴比例关系p,就能获得所述虚拟服装穿戴在所述人体模型上时,所述虚拟服装的最高点l′,并将所述虚拟服装在世界坐标系中与人体模型高度方向一致的轴移动l′-l,即可将所述虚拟服装穿戴在所述人体模型上。通过本方案,可以快速地实现将虚拟服装穿戴在不同的人体模型上,运行功率更加高效,同时不会出现布料纠缠的情况。

结合上述第一方面提供的技术方案,在一些可能的实现方式中,获取人体模型的比例对照点h′,包括:获取穿戴所述虚拟服装的标准人体模型的比例对照点h,及所述h对应的安排面;根据所述h对应的安排面确定比例对照点h′,当所述h为所述标准人体模型上半身安排面最高点hup时,所述h′为hup′,所述hup′为所述人体模型的上身安排面的最高点,当所述h为所述标准人体模型上半身安排面最高点hdown时,所述h′为hdown′,所述hdown′为所述人体模型的下身安排面的最高点。

本申请中,所述比例对照点h′是确定所述虚拟服装与所述人体模型的位置关系的关键数据,而且p是所述虚拟服装穿戴与标准人体模型的穿戴比例关系,因此,h′对应的人体模型的安排面与h对应的标准人体模型的安排面要保持一致,即所述h′和所述h都为各自对应的人体模型的上半身安排面最高点,或都为各自对应的人体模型的下半身安排面最高点。

结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括将移动后的所述虚拟服装的袖子的版片重置为打版状态,使所述袖子贴合到所述人体模型的胳膊上。

在本申请中,打版状态指将服装设置为多个服装版片,而服装版片能自动贴合到人体模型对应的安排点上,并随着安排点的改动而改动位置。因此,将袖子重置为打版状态,袖子被重新设置为多个服装版片,使其能自动贴合到人体模型的胳膊上,此种情况下,即使因为人体模型的肩宽导致不同人体模型的胳膊与身体的夹角不同,虚拟服装的袖子也能贴合到人体模型的胳膊上。

第二方面,本申请实施例提供一种虚拟服装穿戴比例计算方法,包括:获取穿戴在标准人体模型上的虚拟服装的最高点l;获取标准人体模型的比例对照点h,所述h为所述人体模型的上身安排面的最高点hup′或所述人体模型的下身安排面的最高点hdown′;计算所述虚拟服装与所述标准人体模型的穿戴比例关系p,p=l/h。

在本申请实施例中,通过穿戴在标准人体模型的上的虚拟服装的最高点l、标准人体模型的比例对照点h,得到所述虚拟服装与标准人体模型在世界坐标系中与人体模型高度方向一致的轴上的相对位置关系,此位置关系可通过两者的比值表示,即l/h,将l/h定义为所述虚拟服装与所述标准人体模型的穿戴比例关系p,所述穿戴比例关系p可应用于其他人体模型上,便于该虚拟服装穿着于其他人体模型时,方便的调整穿着位置,而不会出现布料纠缠的现象。

结合上述第二方面提供的技术方案,在一些可能的实现方式中,在获取所述虚拟服装穿戴在标准人体模型上的最高点l之前,所述方法还包括:基于接收到的穿戴操作信息,将所述虚拟服装穿戴在所述标准人体模型上;基于接收到拖拽操作信息,将所述虚拟服装拖拽整齐。

本申请实施例中,将所述虚拟服装穿戴在所述标准人体模型上,并基于接收到拖拽操作信息,将所述虚拟服装拖拽整齐,从此种状态下的虚拟服装获取的所述虚拟服装的最高点l更准确,同时,此种状态下的虚拟服装在穿戴到不同人体模型上时,无需再次将所述虚拟服装拖拽整齐。

结合上述第二方面提供的技术方案,在一些可能的实现方式中,获取虚拟服装的最高点l,包括:计算所述虚拟服装的包围盒,通过所述包围盒的上平面获取所述虚拟服装在世界坐标系下的最高位置l。

在本申请实施例中,通过计算虚拟服装的包围盒,使用体积较虚拟服装稍大,但特性简单的几何体来近似地代替较为复杂的虚拟服装,通过计算所述虚拟服装的包围盒获取的虚拟服装的最高点l更加简便。

结合上述第二方面提供的技术方案,在一些可能的实现方式中,获取标准人体模型的比例对照点h,包括:获取所述标准人体模型的上身安排面的最高点hup和下身安排面的最高点hdown;判断所述hup与所述l差的绝对值是否小于等于所述hdown与所述l的差的绝对值;其中,当所述hup与所述l的差的绝对值小于等于所述hdown与所述l的差的绝对值时,所述hup为h,当所述hup与所述l的差的绝对值大于所述hdown与所述l的差的绝对值时,所述hdown为h。

在本申请实施例中,获取上半身安排面的最高点hup和下身安排面的最高点hdown,将其中最接近虚拟服装的最高点l的值作为比例对照点h,可以使计算得到的所述穿戴比例关系p更精确,使应用比例关系p穿戴虚拟服装时,减小误差。

结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述方法还包括将所述虚拟服装的服装信息、所述穿戴比例关系p发送到试衣系统。

在本申请实施例中,将所述虚拟服装的服装信息、所述穿戴比例关系p发送到试衣系统,试衣系统能根据该信息将对应的服装快速地穿戴到其他人体模型上。

第三方面,本申请实施例提供一种虚拟服装穿戴装置,包括获取模块、计算模块、穿戴模块,所述获取模块用于获取待穿戴三维服装的人体模型,以及所述人体模型的比例对照点h′,所述h′为所述人体模型的上身安排面的最高点hup′或所述人体模型的下身安排面的最高点hdown′;所述计算模块用于计算所述虚拟服装穿戴在所述人体模型上的最高点l′,所述l′=h′/p,所述p为所述虚拟服装与标准人体模型的穿戴比例关系;所述穿戴模块用于将所述虚拟服装穿戴在所述人体模型上,将所述虚拟服装沿世界坐标系中与所述人体模型高度方向一致的轴整体移动l′-l距离,使所述虚拟服装穿戴在所述人体模型上,所述l为所述虚拟服装穿戴在标准人体模型上的最高点。

第四方面,本申请实施例提供一种虚拟服装穿戴比例计算装置,包括获取模块、计算模块,所述获取模块用于获取穿戴在人体模型上的虚拟服装的最高点l,以及获取标准人体模型的比例对照点h,所述h用于与所述虚拟服装确定位置关系;所述计算模块用于计算虚拟服装与标准人体模型的比例关系p,p=l/h。

第五方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器用于调用存储于所述存储器中的程序,以执行如上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式的方法,或者如上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式的方法。

第六方面,本申请提供一种存储介质,其上存储有计算机程序,所述计算机程序运行时,执行如上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式的方法,或者如上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式的方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请一实施例示出的虚拟服装穿戴比例计算方法;

图2为本申请一实施例示出的人体模型上身安排面示意图;

图3为本申请一实施例示出的人体模型下身安排面示意图;

图4为本申请一实施例示出的虚拟服装穿戴方法;

图5为本申请一实施例示出的相同服装穿戴在不同人体模型上的效果图;

图6为本申请一实施例示出的身高相同、肩宽不同的人体模型和相同服装穿戴在身高相同、肩宽不同的人体模型上的效果图;

图7为本申请一实施例示出的虚拟服装穿戴装置结构示意图;

图8为本申请一实施例示出的虚拟服装穿戴比例计算装置结构示意图;

图9为本申请一实施例示出的电子设备结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。

请参阅图1,如图1所示为本申请实施例提供的一种虚拟服装穿戴比例计算方法,下面将结合图1对其所包含的步骤进行说明。

步骤s101:获取穿戴在标准人体模型上的虚拟服装的最高点l。

可选的,在获取虚拟服装穿戴在标准人体模型上的最高点l之前,该方法还包括:基于接收到的穿戴操作信息,将虚拟服装穿戴在标准人体模型上;基于接收到拖拽操作信息,将虚拟服装拖拽整齐。

例如,该方法应用于制衣系统中,在将虚拟服装制作完成后,用户可以在制衣系统的界面上点击穿着按钮,将虚拟服装穿戴的标准人体模型上,如果虚拟服装穿戴在标准人体模型上时有褶皱,用户可以进一步在制衣系统的界面上输入拖拽操作,例如直接在褶皱的位置进行拖拽操作,也可以是通过点击拖拽按钮,再选择有褶皱的地方进行点击,实现拖拽操作信息的输入,制衣系统响应该拖拽操作信息,将虚拟服装有褶皱的位置拖拽整齐。

在虚拟服装穿戴于标准人体模型上时,可以执行步骤s101,即获取穿戴在标准人体模型上的虚拟服装的最高点l。可选的,一种实施方式下,步骤s101包括:计算所述虚拟服装的包围盒;通过包围盒的上平面获取虚拟服装在世界坐标系下的最高位置l。例如,计算所述虚拟服装的aabb(axis-alignedboundingbox)包围盒,aabb包围盒被定义为包含所述虚拟服装,且边平行于所述虚拟服装所在的世界坐标系的坐标轴的最小六面体,只需要六个标量就可以描述,而l就是aabb包围盒垂直于与标准人体模型高度方向一致的轴的上平面对应与标准人体模型高度方向一致的轴上的数值。此外,还可以通过计算虚拟服装的方向包围盒obb(orientedboundingbox)确定虚拟服装的最高点l,方向包围盒被定义为包含所述虚拟服装,且相对于坐标轴方向任意最小的长方体,l就是方向包围盒在与标准人体模型高度方向一致的轴方向的最高点的坐标对应的与标准人体模型高度方向一致的轴的数值。还可以通过计算虚拟服装的固定方向凸包fdh(fixeddirectionshulls)确定虚拟服装的最高点l,固定方向凸包被定义为包含所述虚拟服装,且它的所有面的法向量都取自一个固定方向(k个向量)集合的凸包,l就是固定方向凸包在与标准人体模型高度方向一致的轴方向的最高点的坐标对应的与标准人体模型高度方向一致的轴的数值。其中,与标准人体模型高度方向一致的轴可以是x轴、y轴、z轴三条方向轴中的任意一条。例如,当与标准人体模型高度方向一致的轴为y轴时,标准人体模型为站立于xoz平面(x轴和z轴形成的平面)的姿态。

步骤s102:获取当前标准人体模型的比例对照点h。

其中,h为标准人体模型的上身安排面的最高点hup或所述标准人体模型的下身安排面的最高点hdown。如图2和图3所示,上身安排面为将人体模型上半身包围起来的圆柱体,hup为上身安排面在与标准人体模型高度方向一致的轴方向的上平面对应坐标中对应与标准人体模型高度方向一致的轴的值;下身安排面为将人体模型下半身包围起来的圆柱体,hdown为下身安排面在与标准人体模型高度方向一致的轴方向的上平面对应的值。

一种实施方式下,步骤s102包括:获取标准人体模型的上身安排面的最高点hup和下身安排面的最高点hdown;判断hup与l差的绝对值是否小于等于hdown与l的差的绝对值;其中,当hup与l的差的绝对值小于等于hdown与l的差的绝对值时,即|hup-l|≤|hdown-l|,hup为h,当hup与l的差的绝对值大于hdown与l的差的绝对值时,即|hdown-l|≤|hup-l|,hdown为h。例如,外套、衬衣等服装的比例对照点h通常为hup,裤子等服装的比例对照点h通常为hdown。

可选的,可以将服装信息、h、h所属的安排面信息对应存储,当需要将服装穿戴到人体模型上时,通过这些信息可以快速确定人体模型对应该服装的比例对照点h′所属的安排面,进而确定h′的值(这部分将在后续穿戴方法的实施例中详细描述)。

步骤s103:计算所述虚拟服装与所述标准人体模型的穿戴比例关系p,p=l/h。

可选的,在计算出穿戴比例关系p之后,还可以将虚拟服装的服装信息、穿戴比例关系p发送到试衣系统。其中,虚拟服装的服装信息包括但不限于将虚拟服装穿戴在标准人体模型上的服装姿态信息(例如)、比例对照点h、h对应的安排面信息、包围盒、虚拟服装的世界坐标系坐标、标准人体模型的世界坐标系坐标等信息。试衣系统可根据比例对照点h对应的安排面信息确定待穿戴虚拟服装的人体模型的比例对照点h′(详细内容将在下文阐述)。

请参阅图4,其为本申请实施例提供的一种虚拟服装穿戴方法,下面结合图4对其包含的步骤进行说明。

步骤s201:获取待穿戴虚拟服装的人体模型。

一种实施方式下,用户需要试穿虚拟服装时,可以在试穿界面,例如试衣系统输入自己的身材数据,例如身高、体重、三维等,试衣系统根据用户输入的身材数据,如身高、体重、三围等信息生成与该身材数据匹配的人体模型。

在另一种可能的实现方式中,可以在试衣系统中预设多个不同的人体模型,用户可直接选择与自己要求相近的人体模型。

通过以上方式或者其他方式获取到待穿戴虚拟服装的人体模型之后,接下来可以执行步骤s202。

步骤s202:获取所述人体模型的比例对照点h′。h′为人体模型的上身安排面的最高点hup′或所述人体模型的下身安排面的最高点hdown′。

一种实施方式下,获取穿戴虚拟服装的标准人体模型的比例对照点h,及h对应的安排面;根据h对应的安排面确定比例对照点h′,当h为标准人体模型上半身安排面最高点hup时,h′为hup′,hup′为人体模型的上身安排面的最高点,当h为所述标准人体模型上半身安排面最高点hdown时,h′为hdown′,hdown′为人体模型的下身安排面的最高点。

其中,穿戴虚拟服装的标准人体模型的比例对照点h,及h对应的安排面等信息可以是由制衣系统发送给试衣系统,或者该信息由制衣工程师预先存储于试衣系统中,并定期更新。制衣系统获取比例对照点h的方法可以参考前述步骤s102的描述。

步骤s203:计算所述虚拟服装的最高点l′,l′=p·h′。p为预设的所述虚拟服装与标准人体模型的穿戴比例关系。

其中,虚拟服装与标准人体模型的穿戴比例关系p的获取方法可以参考前述穿戴比例计算方法,当然,在实际运用中,也可以是通过其他方式获取到的,例如由制衣工程师根据经验预先设置的。

可选的,穿戴比例关系p可以是由制衣系统发送给试衣系统的,也可以是由制衣工程师预设在试衣系统中的。

步骤s204:将服装沿与人体模型高度方向一致的轴移动l′-l。将穿戴在人体模型上的虚拟服装沿世界坐标系的与人体模型高度方向一致的轴整体移动l′-l距离,l为所述虚拟服装穿戴在标准人体模型上时的最高点。

一种实施方式下,计算得到虚拟服装穿戴在所述人体模型上的最高点l′后,将虚拟服装在试衣系统中沿世界坐标系的与人体模型高度方向一致的轴移动l′-l距离,使虚拟服装穿戴到人体模型上。其中,与人体模型高度方向一致的轴可以是是x轴、y轴、z轴三条方向轴中的任意一条。例如,当与人体模型高度方向一致的轴为y轴时,人体模型为站立于xoz平面(x轴和z轴形成的平面)的姿态。

需要说明的是,为了保证虚拟服装能准确穿戴到人体模型上,人体模型在世界坐标系中的高度方向与标准人体模型在世界坐标系中的高度方向相同,同时需要在人体模型与标准人体模型上分别设置一个坐标参照点,不同人体模型在世界坐标系下的坐标参照点的坐标相同,且该坐标参照点位于不同人体模型的相同位置上,例如分别计算人体模型和标准人体模型的aabb包围盒,将计算得到的包围盒的下平面的中心点设置为各自的坐标参照点。同时,虚拟服装穿戴在标准人体模型上时,获取虚拟服装在世界坐标系下的坐标,当需要将所述虚拟服装穿戴到人体模型上时,导入所述虚拟服装的服装信息,所述虚拟服装信息包括所述虚拟服装穿戴在标准人体模型上时,在世界坐标系下的坐标,根据该坐标确定所述虚拟服装在人体模型所在的世界坐标系的位置。而人体模型通过坐标参照点使其在世界坐标系下的位置与标准人体模型在世界坐标系下的位置保持相对一致,此位置下,在标准人体模型所在的世界坐标系中,所述虚拟服装为穿戴在标准人体模型上的状态,因此,在人体模型所在的世界坐标系中,若人体模型与标准人体模型的身高相同,则所述虚拟服装为穿戴在人体模型上的状态,若人体模型与标准人体模型的身高不相同,例如,人体模型的身高高于标准人体模型,则所述虚拟服装嵌入人体模型的身体,嵌入的距离为l′-l,l′-l>0,若人体模型的身高低于标准人体模型,则所述虚拟服装在与人体模型高度方向一致的轴方向上高于人体模型的身体,高出的距离为l′-l,l′-l<0,此时,将所述虚拟服装在与人体模型高度方向一致的轴上移动l′-l,所述虚拟服装为穿戴在人体模型上的状态。

该人体模型与制衣系统中标准人体模型在世界坐标系下的坐标相同,该虚拟服装移动前的坐标与该虚拟服装穿戴在标准人体模型上时在世界坐标系下的坐标相同。可通过将人体模型的下半身安排面最低点设置为世界坐标系原点,使不同的人体模型的坐标与标准人体模型的坐标始终保持一致。

为了便于理解,请参阅图5,图5展示了不同身高人体模型穿戴175cm尺码上衣的情景,图中的人体模型的身高由矮到高依次为155cm、165cm、175cm、185cm、195cm。从图中可以看到,处于同一个姿态的不同身高的人体模型,其身高和体重在逐渐增加,但对于服装来说,其整体形态基本保持不变。区别在于,较矮的人体模型,如155cm的人体模型穿戴175cm的服装时,服装看上去会比较干瘪;而195cm的人体模型穿戴175cm的服装,服装看上去会比较饱满,但整体而言,服装的外形大致不变,除了干瘪与饱满的区别外,服装整体位置高度不同。因此,当拥有穿戴在标准人体模型上的服装姿态信息时,只需要将服装上下平移,就可以将服装穿戴到其他人体模型上,因此,只要确定将虚拟服装穿戴在不同人体模型上下平移的距离,就可以将虚拟服装穿戴到不同的人体模型上。而该上下平移的距离可根据图4所展示的步骤获得。因此,可以快速地实现将虚拟服装穿戴在不同的人体模型上,运行功率更加高效,同时不会出现布料纠缠的情况。

一种实施方式下,该方法还包括将移动后的虚拟服装的袖子的版片重置为打版状态,使袖子贴合到所述人体模型的胳膊上。打版状态指将服装设置为多个服装版片,而服装版片能自动贴合到人体模型对应的安排点上,并随着安排点的改动而改动位置。

为了便于理解,请参阅图6,图6展示了身高相同、肩宽不同的人体模型和相同的虚拟服装穿戴在身高相同、肩宽不同的人体模型上情景,从图6中可以看出,即使人体模型的身高、姿态一样,但由于不同人体模型的肩宽不同,导致人体模型的双臂与身体的夹角发生改变,此种情况下,衣服的主体部分虽然能穿戴到人体模型上,但衣袖部分可能无法穿戴到人体模型上,因此,将虚拟服装的袖子重置为打版状态,使其穿戴到人体模型的胳膊上。

请参阅图7,其为本申请实施例提供的一种虚拟服装穿戴装置100,包括获取模块110、计算模块120、穿戴模块130。

获取模块110用于获取待穿戴三维服装的人体模型,以及所述人体模型的比例对照点h′,所述h′为所述人体模型的上身安排面的最高点hup′或所述人体模型的下身安排面的最高点hdown′。

计算模块120用于计算所述虚拟服装穿戴在所述人体模型上的最高点l′,所述l′=h′/p,所述p为所述虚拟服装与标准人体模型的穿戴比例关系。

穿戴模块130用于将所述虚拟服装穿戴在所述人体模型上,将所述虚拟服装沿世界坐标系中与人体模型高度方向一致的轴整体移动l′-l距离,使所述三维服装穿戴在所述人体模型上,所述l为所述虚拟服装穿戴在标准人体模型上的最高点。

可选的,获取模块110具体用于获取穿戴所述虚拟服装的标准人体模型的比例对照点h,及所述h对应的安排面;根据所述h对应的安排面确定比例对照点h′,当所述h为所述标准人体模型上半身安排面最高点hup时,所述h′为hup′,所述hup′为所述人体模型的上身安排面的最高点,当所述h为所述标准人体模型上半身安排面最高点hdown时,所述h′为hdown′,所述hdown′为所述人体模型的下身安排面的最高点。

可选的,穿戴模块130还用于将移动后的虚拟服装的袖子的版片重置为打版状态,使所述袖子贴合到所述人体模型的胳膊上。

请参阅图8,图8为本申请实施例提供的一种虚拟服装穿戴比例计算装置300,包括获取模块310、计算模块320。

获取模块310用于获取穿戴在人体模型上的虚拟服装的最高点l,以及获取标准人体模型的比例对照点h,所述h为所述人体模型的上身安排面的最高点hup′或所述人体模型的下身安排面的最高点hdown′。

计算模块320用于计算虚拟服装与标准人体模型的穿戴比例关系p,p=l/h。

可选的,虚拟服装穿戴比例计算装置300还包括穿戴模块,用于在获取所述虚拟服装穿戴在标准人体模型上的最高点l之前,基于接收到的穿戴操作信息,将所述虚拟服装穿戴在所述标准人体模型上,基于接收到拖拽操作信息,将所述虚拟服装拖拽整齐。

可选的,获取模块310具体用于计算所述虚拟服装的包围盒,通过所述包围盒的上平面获取所述虚拟服装在世界坐标系下的最高位置l。

可选的,获取模块310具体用于获取所述标准人体模型的上身安排面的最高点hup和下身安排面的最高点hdown;判断所述hup与所述l差的绝对值是否小于等于所述hdown与所述l的差的绝对值;其中,当所述hup与所述l的差的绝对值小于等于所述hdown与所述l的差的绝对值时,所述hup为h,当所述hup与所述l的差的绝对值大于所述hdown与所述l的差的绝对值时,所述hdown为h。

可选的,虚拟服装穿戴比例计算装置300还包括发送模块,用于将所述虚拟服装的服装信息、所述穿戴比例关系p发送到试衣系统。

请参阅图9,其为本申请实施例提供的一种电子设备。所述电子设备200包括:收发器210、存储器220、通讯总线230、处理器240。

所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图7中所示的软件功能模块,即虚拟服装穿戴装置100。其中,虚拟服装穿戴装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operatingsystem,os)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如虚拟服装穿戴装置100包括的软件功能模块或计算机程序。例如,获取待穿戴三维服装的人体模型;获取所述人体模型的比例对照点h′,所述h′为所述人体模型的上身安排面的最高点hup′或所述人体模型的下身安排面的最高点hdown′;根据所述h′和p计算出所述虚拟服装穿戴在所述人体模型上时的最高点l′,所述l′=h′·p,所述p为预设的所述虚拟服装与标准人体模型的穿戴比例关系;将穿戴在所述人体模型上的所述虚拟服装沿世界坐标系中与人体模型高度方向一致的轴整体移动l′-l距离,所述l为所述虚拟服装穿戴在所述标准人体模型上时的最高点。

可选的,存储器220存储有图8中所示的软件功能模块,即虚拟服装穿戴比例计算装置300。其中,虚拟服装穿戴比例计算装置300包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operatingsystem,os)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如虚拟服装穿戴比例计算装置300包括的软件功能模块或计算机程序。例如,获取穿戴在标准人体模型上的虚拟服装的最高点l;获取标准人体模型的比例对照点h,所述h为所述标准人体模型的上身安排面的最高点hup或所述标准人体模型的下身安排面的最高点hdown;计算所述虚拟服装与所述标准人体模型的穿戴比例关系p,p=l/h。

其中,存储器220可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。

其中,上述的电子设备200,包括但不限于智能手机、平板、个人电脑、服务器等。

本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的虚拟服装穿戴方法和/或虚拟服装穿戴比例计算方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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