特效生成方法、装置、设备及存储介质与流程

文档序号:31303183发布日期:2022-08-27 06:32阅读:83来源:国知局
特效生成方法、装置、设备及存储介质与流程

1.本公开实施例涉及图像处理技术领域,尤其涉及一种特效生成方法、装置、设备及存储介质。


背景技术:

2.智能终端已经成为用户生活中不可或缺的工具,用户通过智能终端可以进行一系列的娱乐活动,例如:在图像中添加特效,以增强娱乐性。其中,对图像添加特效边(简称为描边)是其中一种图像特效处理方式。
3.相关技术中,大多数支持简单的单层描边,效果单一。


技术实现要素:

4.本公开实施例提供一种特效生成方法、装置、设备及存储介质,可以生成具有“多层描边”特效的图像,提高图像显示的丰富性。
5.第一方面,本公开实施例提供了一种特效生成方法,包括:
6.基于设定特效属性信息生成多个线条实体;
7.接收用户在所述多个线条实体中的一个或多个设置的线条属性信息;
8.基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线;其中,分割掩膜图为对原始图像中的目标对象进行分割获得的;
9.将所述多层特效线叠加至所述原始图像中,获得特效图。
10.第二方面,本公开实施例还提供了一种特效生成装置,包括:
11.线条实体生成模块,用于基于设定特效属性信息生成多个线条实体;
12.线条属性信息设置模块,用于接收用户在所述多个线条实体中的一个或多个设置的线条属性信息;
13.多层特效线生成模块,用于基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线;其中,分割掩膜图为对原始图像中的目标对象进行分割获得的;
14.特效图获取模块,用于将所述多层特效线叠加至所述原始图像中,获得特效图。
15.第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
16.一个或多个处理器;
17.存储装置,用于存储一个或多个程序,
18.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任意实施例所述的特效生成方法。
19.第四方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开任意实施例所述的特效生成方法。
20.本公开实施例公开了一种特效生成方法、装置、设备及存储介质。基于设定特效属性信息生成多个线条实体;接收用户在所述多个线条实体中的一个或多个设置的线条属性
信息;基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线;其中,分割掩膜图为对原始图像中的目标对象进行分割获得的;将所述多层特效线叠加至所述原始图像中,获得特效图。本公开实施例提供的特效生成方法,基于用户输入的线条属性信息及分割掩膜图生成多层特效线,可以生成具有“多层描边”特效的图像,提高图像显示的丰富性。
附图说明
21.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
22.图1是本公开实施例所提供的一种特效生成方法流程示意图;
23.图2是本公开实施例所提供的一种特效生成方法的多个线条实体的生成界面示例图;
24.图3是本公开实施例所提供的一种特效生成方法的分割掩膜图的示例图;
25.图4是本公开实施例所提供的另一种特效生成方法流程示意图;
26.图5是本公开实施例所提供的一种特效生成方法的边缘线掩膜图示例图;
27.图6是本公开实施例所提供的一种特效生成方法的模糊分割掩膜图示例图;
28.图7是本公开实施例所提供的一种特效生成方法的基于目标材质透明度值进行线条渲染的特效线示例图;
29.图8是本公开实施例所提供的一种特效生成装置结构示意图;
30.图9是本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
31.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
32.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
33.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
34.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
35.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
36.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性
的目的,而并不是用于对这些消息或信息的范围进行限制。
37.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
38.例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
39.作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
40.可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
41.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
42.图1为本公开实施例所提供的一种特效生成方法的流程示意图,本公开实施例适用于对目标对象(如人或动物等)的原始图像生成特效的情形,该方法可以由本公开实施例提供的特效生成装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、pc端或服务器等。
43.如图1所示,所述方法包括:
44.s110、基于设定特效属性信息生成多个线条实体。
45.其中,本公开实施例可以由特效编辑工具执行。设定特效属性信息可以是用户设置的线条数量,或者是工具预先定义好的。线条实体可以理解为编辑线条图形的容器,可以放置多个与线条图形相关的组件。线条实体可以是基于设定特效属性信息运行编辑好的程序脚本生成的。
46.本公开实施例中,用户进入特效编辑工具中,特效编辑工具的面板中输入设定特效属性信息,特效编辑工具运行编辑好的程序脚本从而生成多个线条实体。线条实体的数量与生成的线条层数相关。
47.在本公开实施例中,可选的,基于设定特效属性信息生成多个线条实体,包括:基于设定特效属性信息生成多个空实体;将设定组件分别添加至所述多个空实体中,获得多个线条实体;其中,所述设定组件包括位置组件、网格渲染组件及脚本组件,所述脚本组件挂载有设定特效脚本。
48.其中,空实体可以理解为可以添加设定组件的容器。多个线条实体可以是将设定组件添加至多个空实体容器中获得的。设定组件可以是配置有初始参数的组件,可以根据实际需求进行配置。本实施例中,设定组件可以包括位置组件(transform)、网格渲染组件(meshrenderer)及脚本组件(scriptcomponent)等组件。位置组件可以理解为包括位置坐标参数的组件,用于确定线条在世界中的位置。网格渲染组件可以理解为包括网格参数(mesh)及材质参数(material)的组件。脚本组件可以用于挂载设定特效脚本。
49.在本公开实施例中,可选的,将设定组件分别添加至所述多个空实体中,获得线条实体,包括:运行所述设定特效脚本,获得设定特效参数;并将所述设定特效参数配置于所述位置组件及网格渲染组件中,获得多个线条实体。
50.其中,设定特效脚本可以理解为调用的底层代码,可以是预先编辑好的。设定特效参数可以理解为通过运行脚本组件中挂载的设定特效脚本获得的特效参数,可以用于配置于位置组件以及网格渲染组件中。本公开实施例中特效编辑工具可以通过将设定特效参数配置于位置组件及网格渲染组件中得到多个线条实体。
51.本公开实施例中特效编辑工具基于设定特效属性生成多个空实体;将位置组件、网格渲染组件及脚本组件等设定组件分别添加至多个空实体中,从而获得多个线条实体;运行脚本组件中挂载的设定特效脚本,获得设定特效参数。运行设定特效脚本,获得设定特效参数,并将设定特效参数配置于位置组件及网络渲染组件中,从而获得多个线条实体。本公开实施例通过这样的设置,可以基于设定特效属性信息生成多个线条实体,从而便于对图像进行“多层描边”特效的多层线条进行设置。
52.示例性的,多个线条实体的生成界面示例图如图2所示,左边就可以理解为线条实体1、线条实体2、线条实体3以及线条实体4等多个线条实体。右边界面就可以理解为各种设定组件的设置,可以根据用户的实际需求进行设置。
53.在本公开实施例中,可选的,所述方法还包括:在运行所述设定特效脚本之后,还包括:
54.生成所述设定特效脚本对应的线条属性面板。
55.其中,线条属性面板可以用于设置线条属性信息的面板界面;线条属性面板可以通过运行设定特效脚本对应生成的。具体的,线条属性面板可以设置线条宽度、线条颜色、线条透明度、设定特效材质以及位置变化等属性。本公开实施例中特效编辑工具可以运行设定特效脚本,生成线条属性面板,利于用户设置线条属性信息,提高编辑的灵活性。
56.s120、接收用户在所述多个线条实体中的一个或多个设置的线条属性信息。
57.其中,线条属性信息可以包括如下至少一项:线条宽度、线条颜色、线条透明度、设定特效材质以及位置变换。本公开实施例可以在多个线条实体中设置一个或多个的线条属性信息。可以理解的,线条宽度也就是线条的具体宽度值。线条颜色可以为红色、蓝色、黄色以及绿色等的颜色,可以根据用户实际需求进行设置,此处不作限制。线条透明度也就是线条的透明度值,可以根据用户实际需求进行设置。例如,当设置线条透明度值为0时,该线条不显示;当透明度值为1时,线条完全显示。设定特效材质可以包括设定普通材质和辉光材质;设定特效材质还可以包括材质颜色和材质透明度。本实施例中,可以在线条属性面板中设置一“辉光材质”的开关,若用户打开该开关,则表明选择了辉光材质,若该开关关闭,则表明选择了普通材质。位置变换信息可以包括如下至少一项:平移信息、旋转信息、缩放信息及翻转信息。示例性的,位置变换可以是向左平移、向右平移、大小的缩放、以及水平垂直翻转等位置变换。
58.本公开实施例中特效编辑工具可以接收用户分别在多个线条实体中设置的线条宽度、线条颜色、线条透明度、设定特效材质以及位置变换等中的一个或多个的线条属性信息。
59.可选的,接收用户在所述多个线条实体中设置的线条属性信息的过程可以是:接
收用户通过所述线条属性面板输入的线条属性信息。
60.其中,线条属性面板可以用于设置线条属性信息的面板界面。线条属性信息可以是用户通过线条属性面板输入的信息,可以根据用户需求进行输入。本公开实施例中特效编辑工具可以接收用户通过线条属性面板输入的线条属性信息。本公开实施例通过这样的设置,可以根据用户实际需求进行输入设置线条属性信息,更具有灵活性。
61.s130、基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线。其中,分割掩膜图为对原始图像中的目标对象进行分割获得的;
62.其中,分割掩膜图可以理解为对原始图像中的目标对象进行分割获得的图像。原始图像可以理解为图像进行分割掩膜处理操作对应的原始图像。目标对象可以理解为原始图像中的需要进行分割的目标区域。示例性的,图3是本公开实施例获取的分割掩膜图的示例图,如图3所示,该分割掩膜图是通过对人像进行分割获取到的掩膜图。本实施例中,对分割掩膜图中的分割对象不做限定,例如可以:动物、植物或者建筑物等。
63.其中,预设顺序可以是用户设置的,还可以是随机的,由内到外或者由外到内的多个线条实体的顺序,示例性的按照生成的线条实体的顺序依次排序的。线条实体的排序可以决定了生成特效线的顺序以及线条的层级顺序,排在靠前的线条实体,其对应的特效线优先生成,且层级靠上。多层特效线可以理解为多条特效线按照层级关系显示。
64.本公开实施例中特效编辑工具可以基于线条属性信息以及获取的分割掩膜图按照多个线条实体的顺序依次生成多层特效线。
65.s140、将所述多层特效线叠加至所述原始图像中,获得特效图。
66.其中,原始图像可以理解为图像进行分割掩膜处理操作对应的原始图像。特效图可以理解为将多层特效线叠加至分割掩膜图对应的原始图中得到特效图。
67.本公开实施例中特效编辑工具将多层特效线叠加至分割掩膜图对应的原始图中,从而获得特效图。
68.本公开实施例的技术方案,通过基于设定特效属性信息生成多个线条实体;接收用户在所述多个线条实体中的一个或多个设置的线条属性信息;基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线;其中,分割掩膜图为对原始图像中的目标对象进行分割获得的;将所述多层特效线叠加至所述原始图像中,获得特效图。本技术方案,可以生成具有“多层描边”特效的图像,提高图像显示的丰富性。
69.图4为本公开实施例提供的另一种特效生成方法的流程图;本实施例在上述实施例提供的各可选方案的基础上进行了优化,具体优化为:基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线,包括:对于每层特效线,基于所述线条宽度确定边缘提取步长;根据所述边缘提取步长对所述分割掩膜图进行边缘提取,获得边缘线掩膜图;基于线条颜色、线条透明度、设定特效材质及位置变换信息中的至少一项以及所述边缘线掩膜图生成特效线。
70.如图4所示,所述方法包括:
71.s410、基于设定特效属性信息生成多个线条实体。
72.s420、接收用户在所述多个线条实体中的一个或多个设置的线条属性信息。
73.s430、对于每层特效线,基于所述线条宽度确定边缘提取步长。
74.其中,特效线可以有多层,可以对于每一层特效线根据用户需求进行不同的设置。
边缘提取步长可以采用任意的边缘提取算法提取步长。边缘提取步长可以基于线条宽度确定的,可以是通过线条宽度与预先设置的设定系数(例如:0.01)进行相乘得到对应的边缘提取步长。本公开实施例中特效编辑工具对于每层特效线,都可以基于线条宽度确定边缘提取步长。
75.s440、根据所述边缘提取步长对所述分割掩膜图进行边缘提取,获得边缘线掩膜图。
76.其中,边缘线掩膜图可以理解为根据边缘提取步长对分割掩膜图进行边缘提取得到的图。本公开实施例中根据边缘提取步长可以采用拉普拉斯边缘提取算法对分割掩膜图进行边缘提取,从而获得边缘线掩膜图。示例性的,本公开实施例中可以采用的是使用不同的步长的四邻域的拉普拉斯算法计算出的边缘,边缘线掩膜图示例图如图5所示。
77.s450、基于线条颜色、线条透明度、设定特效材质及位置变换信息中的至少一项以及所述边缘线掩膜图生成特效线。
78.其中,特效线可以是基于线条颜色、线条透明度、设定特效材质及位置变换信息中的至少一项以及边缘线掩膜图生成的。
79.示例性的,本公开实施例中的特效线可以是基于线条颜色以及线条透明度、以及边缘线掩膜图生成的特效线;还可以是基于设定特效材质以及边缘线掩膜图生成的特效线;还可以是基于线条颜色及位置变换信息以及边缘线掩膜图生成的特效线;可以根据用户的实际需求进行设置所需信息生成特效线。本公开实施例通过这样的设置,可以根据用户需求对每层特效线进行不同的设置,从而生成具有“多层描边”特效的图像,进一步提高了图像显示的丰富性。
80.s460、将所述多层特效线叠加至所述原始图像中,获得特效图。
81.在本公开实施例中,可选的,所述分割掩膜图包括目标对象区域和背景区域;基于所述线条宽度确定边缘提取步长的方式可以是:基于所述线条宽度确定第一边缘提取步长和第二边缘提取步长;根据所述边缘提取步长对所述分割掩膜图进行边缘提取,获得边缘线掩膜图的方式可以是:根据所述第一边缘提取步长对所述目标对象区域进行边缘提取,根据所述第二边缘提取步长对所述背景区域进行边缘提取,获得边缘线掩膜图。
82.其中,分割掩膜图可以包括目标对象区域和背景区域。目标对象区域可以理解为分割的目标对象所在的区域,例如图3中的人像区域。背景区域可以理解为除了目标对象区域之外的区域。第一边缘提取步长和第二边缘提取步长可以基于线条宽度确定,可以理解为分别对分割掩膜图的内侧和外侧的边缘提取步长。本公开实施例中第一边缘提取步长可以是对目标对象区域进行边缘提取;第二边缘提取步长可以是对背景区域进行边缘提取。
83.具体的,可以基于线条宽度与设定系数相乘得到第一边缘提取步长和第二边缘提取步长;其中,设定系数可以根据实际提取的步长进行设置,示例性的,设定系数可以设定为0.01、0.02以及0.03等系数。第一边缘提取步长和第二边缘提取步长不相等。
84.本公开实施例中,可以基于线条宽度确定第一边缘提取步长和第二边缘提取步长;根据第一边缘提取步长对目标对象区域进行边缘提取,根据第二边缘提取步长对背景区域进行边缘提取,从而获得边缘线掩膜图。本公开实施例通过这样的设置,可以根据实际需要对目标对象区域和背景区域进行不同的边缘步长提取,可以提高显示效果。
85.在本公开实施例中,可选的,基于线条颜色以及所述边缘线掩膜图生成特效线的
方式可以是:将所述线条颜色的颜色值与所述边缘线掩膜图中像素点的像素值进行融合,获得特效线的目标颜色;基于所述目标颜色进行线条渲染,获得特效线。
86.其中,颜色值可以是线条颜色的颜色rgb值,例如,可以包括红色、绿色以及蓝色的对应的颜色值。本公开实施例中线条颜色可以为用户根据个人需求输入的颜色。像素值可以为边缘线掩膜图中像素点对应的像素值;示例性的,可以为0-1之间的值。边缘掩膜图可以为黑色和白色表示,若为黑色区域时,像素点对应的像素值为0;若为白色区域时,像素点对应的像素值为1。
87.本公开实施例中,将线条颜色的颜色值与边缘线掩膜图中像素点的像素值进行融合可以理解为将线条颜色的颜色值与边缘掩膜图中的像素点的像素值进行相乘得到的值。目标颜色可以是将线条颜色的颜色值与边缘线掩膜图中像素点的像素值进行相乘得到的颜色。特效线可以理解为基于目标颜色对线条进行渲染得到的特效线,使得特效线显示目标颜色。
88.本公开实施例中可以基于将线条颜色的颜色值与边缘线掩膜图中像素点的像素值进行相乘,获得特效线的目标颜色;并基于目标颜色进行线条渲染,从而获得特效线。本公开实施例通过这样的设置,可以根据线条属性中的线条颜色以及边缘线掩膜图生成特效线。
89.在本公开实施例中,可选的,基于线条透明度以及所述边缘线掩膜图生成特效线,包括:对所述边缘线掩膜图进行模糊处理,获得模糊线条线掩膜图;将所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度;基于所述目标透明度进行线条渲染,获得特效线。
90.其中,模糊处理可以理解为对边缘先掩膜图进行均值模糊(例如:7*7的均值模糊处理)或者高斯模糊等处理,此处不做限定。可选的,本实施例中,采用均值模糊处理,均值模糊的原理是通过图形滤波器来把一个像素和周围的像素一起求平均值。模糊线条线掩膜图可以是对边缘线掩膜图进行模糊处理得到的模糊线条线掩膜图。线条透明度值可以根据设置透明度值(也可以称之为羽化值)得到。线条透明度值可以是用户根据个人实际需求进行输入的。
91.可选的,将所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度,包括:若所述线条透明度值处于第一设定范围,则基于第一设定值对所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度;若所述线条透明度值处于第二设定范围,则基于第二设定值对所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度。
92.其中,第一设定范围可以为-1到0的范围,第一设定值可以是1。当线条透明度值x在第一设定范围可以为-1到0的范围,基于第一设定值对线条透明度值与模糊线条线掩膜图中的像素点的像素值进行融合。即当用户输入的线条透明度值x处于第一设定范围时,基于第一设定值对线条透明度值与模糊线条线掩膜图中的像素点的像素值是采用公式y=(x+1)*r-x*1.0进行融合,其中,x表示线条透明度的羽化值,r表示模糊线条线掩膜图中的像素点的像素值,y表示目标透明度值。第二设定范围可以为0到1的数值范围,第二设定值可以是0。当用户输入的线条透明度值x处于第二设定范围时,基于第二设定值对线条透明度值与模糊线条线掩膜图中的像素点的像素值是采用如下公式计算:y=(1.0-x)*r。
93.本公开实施例中可以基于对所述边缘线掩膜图进行模糊处理,获得模糊线条线掩膜图;将所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值根据设定范围进行不同设定值的方式进行融合,获得目标透明度;基于目标透明度进行线条渲染,获得特效线,可以使得生成的特效线呈现“羽化”的效果。
94.在本公开实施例中,可选的,所述设定特效材质包括材质颜色和材质透明度,基于设定特效材质以及所述边缘线掩膜图生成特效线,包括:将所述材质颜色值与所述边缘线掩膜图中的像素点的像素值进行融合,获得目标材质颜色值;对所述分割掩膜图进行模糊处理,获得模糊分割掩膜图;将所述材质透明度值和所述模糊分割掩膜图中的像素点的像素值进行融合,获得目标材质透明度值;基于所述目标材质颜色值和所述目标材质透明度值进行线条渲染,获得特效线。
95.其中,设定特效材质可以包括材质颜色和材质透明度。目标材质颜色值可以通过将材质颜色值与边缘线掩膜图中的像素点的像素值进行融合得到的。具体的,可以通过将材质颜色值与边缘线掩膜图中的像素点的像素值进行相乘得到的目标材质颜色值。模糊分割掩膜图可以是对分割掩膜图进行模糊处理得到的。示例性的,对分割掩膜图进行模糊处理得到的模糊分割掩膜图示例图如图6所示。
96.在本公开实施例中,可选的,将所述材质透明度值和所述模糊分割掩膜图中的像素点的像素值进行融合,获得目标材质透明度值,包括:将所述材质透明度值与所述模糊分割掩膜图中对应像素点的像素值进行线性叠加,获得第一中间透明度值;对所述第一中间透明度值进行设定指数运算,获得第二中间透明度值;对所述第二中间透明度值进行线性变换,获得目标材质透明度值。
97.其中,第一中间透明度值可以是将材质透明度值与模糊分割掩膜图中对应像素点的像素值进行线性叠加得到的。具体的,当模糊分割掩膜图中对应的像素点的像素值大于0.5时,可以采用如下公式确定第一中间透明度值:y1=clamp(0.5,1,r+0.5-l*0.5),其中,l表示材质透明度值,r表示模糊分割掩膜图中对应的像素点的像素值,y1表示第一中间透明度值,clamp()函数表示将r+0.5-l*0.5的值限制在0.5-1之间。当模糊分割掩膜图中对应的像素点的像素值小于0.5时,可以采用如下公式确定第一中间透明度值:y1=(0,0.5,r-0.5+l*0.5),其中,l表示材质透明度值,r表示模糊分割掩膜图中对应的像素点的像素值,y1表示第一中间透明度值,clamp()函数表示将r+0.5-l*0.5的值限制在0-0.5之间。
98.其中,设定指数运算可以是对第一中间透明度值进行设定的指数运算,可以设定对第一中间透明度值进行2次方或者3次方等其他次方的设定指数运算,可以根据实际需求进行设定。对第一中间透明度值进行设定指数运算可以采用如下公式:y2=[(0.5-y1)*2]^2,y2表示第二中间透明度值。目标材质透明度值可以是对第二中间透明度值进行线性变换的得到的。具体的,对第二中间透明度=值进行线性变换可以采用如下公式:y=1-y2,即由1.0与第二中间透明度值进行相减的线性变换。
[0099]
本公开实施例中通过将材质颜色值与所述边缘线掩膜图中的像素点的像素值进行融合,获得目标材质颜色值;对分割掩膜图进行模糊处理,获得模糊分割掩膜图;将材质透明度值与模糊分割掩膜图中对应像素点的像素值进行线性叠加,获得第一中间透明度值;对第一中间透明度值进行设定指数运算,获得第二中间透明度值;对第二中间透明度值进行线性变换,获得目标材质透明度值;基于目标材质颜色值和目标材质透明度值进行线
条渲染,可以获得具有“辉光”特效的特效线。
[0100]
示例性的,本公开实施例中的基于目标材质透明度值进行线条渲染,获得特效线示例图,如图7所示。
[0101]
在本公开实施例中,可选的,基于位置变换信息以及所述边缘线掩膜图生成特效线,包括:基于所述位置变换信息对所述边缘掩膜图中的像素点进行位置变换,获得变换后的边缘掩膜图;其中,位置变换信息包括如下至少一项:平移信息、旋转信息、缩放信息及翻转信息;基于变换后的边缘掩膜图进行线条渲染,获得特效线。
[0102]
其中,位置变换信息可以包括如下至少一项:平移信息、旋转信息、缩放信息及翻转信息。变换后的边缘掩膜图可以是基于位置变化信息对边缘掩膜图中的像素点进行位置变化得到。
[0103]
本公开实施中可以通过基于位置变化信息对边缘掩膜图中的像素点进行位置变换得到变换后的边缘掩膜图,基于变换后的边缘掩膜图进行线条渲染,从而获得特效线。
[0104]
可选的,本公开实施例中还可以基于目标透明度、目标材质颜色值和目标材质透明度值以及变换后的边缘掩膜图中的至少一种进行线条渲染,获得特效线。
[0105]
图8是本公开实施例所提供的一种特效生成装置结构示意图,如图8所示,所述装置包括:线条实体生成模块810、线条属性信息设置模块820、多层特效线生成模块830以及特效图获取模块840。如图8所示,该装置可以包括:
[0106]
线条实体生成模块810,用于基于设定特效属性信息生成多个线条实体;
[0107]
线条属性信息设置模块820,用于接收用户在所述多个线条实体中的一个或多个设置的线条属性信息;
[0108]
多层特效线生成模块830,用于基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线;其中,分割掩膜图为对原始图像中的目标对象进行分割获得的;
[0109]
特效图获取模块840,用于将所述多层特效线叠加至所述原始图像中,获得特效图。
[0110]
可选的,所述线条实体生成模块810,包括:
[0111]
空实体生成单元,用于基于设定特效属性信息生成多个空实体;
[0112]
线条实体获取单元,用于将设定组件分别添加至所述多个空实体中,获得多个线条实体;其中,所述设定组件包括位置组件、网格渲染组件及脚本组件,所述脚本组件挂载有设定特效脚本。
[0113]
可选的,线条实体获取单元,具体用于:
[0114]
运行所述设定特效脚本,获得设定特效参数;
[0115]
并将所述设定特效参数配置于所述位置组件及网格渲染组件中,获得多个线条实体。
[0116]
可选的,所述所述线条实体生成模块810还包括:线条属性面板生成单元,用于:
[0117]
在运行所述设定特效脚本之后,生成所述设定特效脚本对应的线条属性面板;
[0118]
所述线条属性信息设置模块820,用于:
[0119]
接收用户通过所述线条属性面板输入的线条属性信息。
[0120]
可选的,所述线条属性信息包括如下至少一项:线条宽度、线条颜色、线条透明度、设定特效材质以及位置变换。
[0121]
可选的,所述多层特效线生成模块830,包括:
[0122]
边缘提取步长单元,用于对于每层特效线,基于所述线条宽度确定边缘提取步长;
[0123]
边缘线掩膜图获取单元,用于根据所述边缘提取步长对所述分割掩膜图进行边缘提取,获得边缘线掩膜图;
[0124]
特效线生成单元,用于基于线条颜色、线条透明度、设定特效材质及位置变换信息中的至少一项以及所述边缘线掩膜图生成特效线。
[0125]
可选的,所述分割掩膜图包括目标对象区域和背景区域;边缘提取步长单元,用于:
[0126]
基于所述线条宽度确定第一边缘提取步长和第二边缘提取步长;
[0127]
根据所述边缘提取步长对所述分割掩膜图进行边缘提取,获得边缘线掩膜图,包括:
[0128]
根据所述第一边缘提取步长对所述目标对象区域进行边缘提取,根据所述第二边缘提取步长对所述背景区域进行边缘提取,获得边缘线掩膜图。
[0129]
可选的,第一特效线生成单元,用于:
[0130]
将所述线条颜色的颜色值与所述边缘线掩膜图中像素点的像素值进行融合,获得特效线的目标颜色;
[0131]
基于所述目标颜色进行线条渲染,获得特效线。
[0132]
可选的,第二特效线生成单元,用于:
[0133]
对所述边缘线掩膜图进行模糊处理,获得模糊线条线掩膜图;
[0134]
将所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度;
[0135]
基于所属目标透明度进行线条渲染,获得特效线。
[0136]
可选的,第二特效线生成单元,具体用于:
[0137]
若所述线条透明度值处于第一设定范围,则基于第一设定值对所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度;
[0138]
若所述线条透明度值处于第二设定范围,则基于第二设定值对所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度。
[0139]
可选的,第三特效线生成单元,用于:
[0140]
将所述材质颜色值与所述边缘线掩膜图中的像素点的像素值进行融合,获得目标材质颜色值;
[0141]
对所述分割掩膜图进行模糊处理,获得模糊分割掩膜图;
[0142]
将所述材质透明度值和所述模糊分割掩膜图中的像素点的像素值进行融合,获得目标材质透明度值;
[0143]
基于所述目标材质颜色值和所述目标材质透明度值进行线条渲染,获得特效线。
[0144]
可选的,第三特效线生成单元,具体用于:
[0145]
将所述材质透明度值与所述模糊分割掩膜图中对应像素点的像素值进行线性叠加,获得第一中间透明度值;
[0146]
对所述第一中间透明度值进行设定指数运算,获得第二中间透明度值;
[0147]
对所述第二中间透明度值进行线性变换,获得目标材质透明度值。
[0148]
可选的,第四特效线生成单元,用于:
[0149]
基于所述位置变换信息对所述边缘掩膜图中的像素点进行位置变换,获得变换后的边缘掩膜图;其中,位置变换信息包括如下至少一项:平移信息、旋转信息、缩放信息及翻转信息;
[0150]
基于变换后的边缘掩膜图进行线条渲染,获得特效线。
[0151]
本公开实施例所提供的一种特效生成装置可执行本公开任意实施例所提供的一种特效生成方法,具备执行方法相应的功能模块和有益效果。
[0152]
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
[0153]
图9为本公开实施例所提供的一种电子设备的结构示意图。下面参考图9,其示出了适于用来实现本公开实施例的电子设备(例如图9中的终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0154]
如图9所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom 502以及ram 503通过总线504彼此相连。编辑/输出(i/o)接口505也连接至总线504。
[0155]
通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0156]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
[0157]
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0158]
本公开实施例提供的电子设备与上述实施例提供的一种特效生成方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
[0159]
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处
理器执行时实现上述实施例所提供的一种特效生成方法。
[0160]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0161]
在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0162]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0163]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
[0164]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于设定特效属性信息生成多个线条实体;接收用户在所述多个线条实体中的一个或多个设置的线条属性信息;基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线;其中,分割掩膜图为对原始图像中的目标对象进行分割获得的;将所述多层特效线叠加至所述原始图像中,获得特效图。
[0165]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0166]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程
序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0167]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
[0168]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0169]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0170]
根据本公开的一个或多个实施例,提供了一种特效生成方法,包括:
[0171]
基于设定特效属性信息生成多个线条实体;
[0172]
接收用户在所述多个线条实体中的一个或多个设置的线条属性信息;
[0173]
基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线;其中,分割掩膜图为对原始图像中的目标对象进行分割获得的;
[0174]
将所述多层特效线叠加至所述原始图像中,获得特效图。
[0175]
可选的,基于设定特效属性信息生成多个线条实体,包括:
[0176]
基于设定特效属性信息生成多个空实体;
[0177]
将设定组件分别添加至所述多个空实体中,获得多个线条实体;其中,所述设定组件包括位置组件、网格渲染组件及脚本组件,所述脚本组件挂载有设定特效脚本。
[0178]
可选的,将设定组件分别添加至所述多个空实体中,获得多个线条实体,包括:
[0179]
运行所述设定特效脚本,获得设定特效参数;
[0180]
并将所述设定特效参数配置于所述位置组件及网格渲染组件中,获得多个线条实体。
[0181]
可选的,在运行所述设定特效脚本之后,还包括:
[0182]
生成所述设定特效脚本对应的线条属性面板;
[0183]
接收用户在所述多个线条实体中设置的线条属性信息,包括:
[0184]
接收用户通过所述线条属性面板输入的线条属性信息。
[0185]
可选的,所述线条属性信息包括如下至少一项:线条宽度、线条颜色、线条透明度、设定特效材质以及位置变换。
[0186]
可选的,基于所述线条属性信息及获取的分割掩膜图按照预设顺序生成多层特效线,包括:
[0187]
对于每层特效线,基于所述线条宽度确定边缘提取步长;
[0188]
根据所述边缘提取步长对所述分割掩膜图进行边缘提取,获得边缘线掩膜图;
[0189]
基于线条颜色、线条透明度、设定特效材质及位置变换信息中的至少一项以及所述边缘线掩膜图生成特效线。
[0190]
可选的,所述分割掩膜图包括目标对象区域和背景区域;基于所述线条宽度确定边缘提取步长,包括:
[0191]
基于所述线条宽度确定第一边缘提取步长和第二边缘提取步长;
[0192]
根据所述边缘提取步长对所述分割掩膜图进行边缘提取,获得边缘线掩膜图,包括:
[0193]
根据所述第一边缘提取步长对所述目标对象区域进行边缘提取,根据所述第二边缘提取步长对所述背景区域进行边缘提取,获得边缘线掩膜图。
[0194]
可选的,基于线条颜色以及所述边缘线掩膜图生成特效线,包括:
[0195]
将所述线条颜色的颜色值与所述边缘线掩膜图中像素点的像素值进行融合,获得特效线的目标颜色;
[0196]
基于所述目标颜色进行线条渲染,获得特效线。
[0197]
可选的,基于线条透明度以及所述边缘线掩膜图生成特效线,包括:
[0198]
对所述边缘线掩膜图进行模糊处理,获得模糊线条线掩膜图;
[0199]
将所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度;
[0200]
基于所属目标透明度进行线条渲染,获得特效线。
[0201]
可选的,将所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度,包括:
[0202]
若所述线条透明度值处于第一设定范围,则基于第一设定值对所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度;
[0203]
若所述线条透明度值处于第二设定范围,则基于第二设定值对所述线条透明度值与所述模糊线条线掩膜图中的像素点的像素值进行融合,获得目标透明度。
[0204]
可选的,所述设定特效材质包括材质颜色和材质透明度,基于设定特效材质以及所述边缘线掩膜图生成特效线,包括:
[0205]
将所述材质颜色值与所述边缘线掩膜图中的像素点的像素值进行融合,获得目标材质颜色值;
[0206]
对所述分割掩膜图进行模糊处理,获得模糊分割掩膜图;
[0207]
将所述材质透明度值和所述模糊分割掩膜图中的像素点的像素值进行融合,获得目标材质透明度值;
[0208]
基于所述目标材质颜色值和所述目标材质透明度值进行线条渲染,获得特效线。
[0209]
可选的,将所述材质透明度值和所述模糊分割掩膜图中的像素点的像素值进行融合,获得目标材质透明度值,包括:
[0210]
将所述材质透明度值与所述模糊分割掩膜图中对应像素点的像素值进行线性叠加,获得第一中间透明度值;
[0211]
对所述第一中间透明度值进行设定指数运算,获得第二中间透明度值;
[0212]
对所述第二中间透明度值进行线性变换,获得目标材质透明度值。
[0213]
可选的,基于位置变换信息以及所述边缘线掩膜图生成特效线,包括:
[0214]
基于所述位置变换信息对所述边缘掩膜图中的像素点进行位置变换,获得变换后的边缘掩膜图;其中,位置变换信息包括如下至少一项:平移信息、旋转信息、缩放信息及翻转信息;
[0215]
基于变换后的边缘掩膜图进行线条渲染,获得特效线。
[0216]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0217]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0218]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1