掌桥专利:专业的专利平台
掌桥专利
首页

图像特效的生成方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 12:10:19


图像特效的生成方法、装置、电子设备及存储介质

技术领域

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

背景技术

图像特效是一种亮度随时间变化的动态贴纸,例如大小不一的闪粉、具有特定形状的星星等。该图像特效可以应用于美妆滤镜中,通过与人脸相贴合,形成具有美妆质感的妆容。在现有技术中,通常会采用预先绘制一系列效果图像,并按照时间顺序循环显示这一系列效果图像的方式,来得到所需的图像特效。通过这一过程所得到的图像特效的运行效果较快,即可快速与叠加到人脸上,但是,在这一过程中,素材(即一系列效果图像)的设计工作较为繁琐,且即便是对图像特效进行较小的改动,也需要重新设计所需要的素材,工作量较大,普适性较差。

发明内容

本公开提供一种图像特效的生成方法、装置、电子设备及存储介质,以至少解决相关技术中生成图像特效的方式的工作量大,普适性较低的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种图像特效的生成方法,包括:

将预设网格的数量以及目标图像特效中各个像素点的预设位置偏移矢量输入预设噪声函数,得到第一噪声数据,预设网格的数量根据目标图像特效中特效元素的大小确定,且预设位置偏移矢量随时间变化;随后,放大第一噪声数据中大于预设阈值的数据的取值,缩小第一噪声数据中小于预设阈值的数据的取值,得到第二噪声数据;进而根据预设取值范围对该第二噪声数据的取值进行约束,得到目标噪声数据;最后,显示该目标噪声数据,得到所需的目标图像特效。

在一种可能的实现方式中,放大第一噪声数据中大于预设阈值的数据的取值,缩小第一噪声数据中小于预设阈值的数据的取值,得到第二噪声数据,包括:根据预设乘积算子,放大第一噪声数据的取值,得到第三噪声数据,即经预设乘积算子放大后的第一噪声数据。随后,根据预设幂次算子,放大第三噪声数据中大于预设阈值的数据的取值,缩小第三噪声数据中小于预设阈值的数据的取值,得到第二噪声数据。

在一种可能的实现方式中,根据预设取值范围对第二噪声数据的取值进行约束,得到目标噪声数据,包括:根据预设取值范围,确定预设钳制算子;随后,根据该预设钳制算子,将第二噪声数据中取值超过预设取值范围的数据的取值调整为预设取值范围内的取值,得到目标噪声数据。

在一种可能的实现方式中,预设阈值为[0.0,1.0],目标噪声数据满足以下公式:

S=min(max((noise*multiply)

其中,S为目标噪声数据,noise为第一噪声数据,multiply为所述预设乘积算子,power为所述预设幂次算子,min(max((noise*multiply)

在一种可能的实现方式中,在显示目标噪声数据,得到目标图像特效之前,该方法还包括:将与预设网格对应的随机数以及当前时刻输入预设周期函数,得到与预设网格对应的随时间变化的明暗值,随机数用于控制目标图像特效中特效元素的闪烁频率;随后,根据该明暗值对目标噪声数据进行闪烁处理,更新目标噪声数据。此时,显示目标噪声数据为显示更新后的目标噪声数据,从而得到目标图像特效。

在一种可能的实现方式中,预设周期函数为sin()函数,更新后的目标噪声函数满足以下公式:

S'=S*sin(time*hashVal)

其中,S为更新前的目标噪声数据,S'为更新后的目标噪声数据,hashVal为对应预设网格的随机数,time为时间变量。

在一种可能的实现方式中,在显示目标噪声数据,得到目标图像特效之前,该方法还包括:对目标噪声数据进行以下处理中的至少一项:模糊处理、锐化处理与平滑处理,以调整目标图像特效中的特效元素的形状,从而得到特效元素的形状符合需求的目标图像特效。

根据本公开实施例的第二方面,提供一种图像特效的生成装置,包括:

处理单元,被配置为执行将预设网格的数量以及目标图像特效中各个像素的预设位置偏移矢量输入预设噪声函数,得到第一噪声数据,预设网格的数量根据目标图像特效中特效元素的大小确定,预设位置偏移矢量随时间变化;处理单元,还被配置为执行放大第一噪声数据中大于预设阈值的数据的取值,缩小第一噪声数据中小于预设阈值的数据的取值,得到第二噪声数据;该处理单元,还被配置为执行根据预设取值范围对第二噪声数据进行约束,得到目标噪声数据;显示单元,被配置为执行显示目标噪声数据,得到目标图像特效。

在一种可能的实现方式中,处理单元,具体被配置为执行根据预设乘积算子放大第一噪声数据的取值,得到第三噪声数据,即经预设乘积算子放大后的第一噪声数据;处理单元,具体还被配置为执行根据预设幂次算子,放大第三噪声数据中大于预设阈值的数据的取值,缩小第三噪声数据中小于预设阈值的数据的取值,得到第二噪声数据。

在一种可能的实现方式中,处理单元,具体还被配置为执行根据预设取值范围,确定预设钳制算子;根据预设钳制算子,将第二噪声数据中取值超过预设取值范围的数据的取值调整为预设取值范围内的取值,得到目标噪声数据。

在一种可能的实现方式中,预设阈值为[0.0,1.0],目标噪声数据满足以下公式:

S=min(max((noise*multiply)

其中,S为目标噪声数据,noise为第一噪声数据,multiply为所述预设乘积算子,power为所述预设幂次算子,min(max((noise*multiply)

在一种可能的实现方式中,处理单元,还被配置为执行将与预设网格对应的随机数以及当前时刻输入预设周期函数,得到与预设网格对应的随时间变化的明暗值,该随机数用于控制目标图像特效中特效元素的闪烁频率;随后,根据该明暗值对目标噪声数据进行闪烁处理,更新该目标噪声数据。

在一种可能的实现方式中,预设周期函数为sin()函数。更新后的目标噪声数据满足以下公式:

S'=S*sin(time*hashVal)

其中,S为更新前的目标噪声数据,S'为更新后的目标噪声数据,hashVal为对应预设网格的随机数,time为时间变量。

在一种可能的实现方式中,处理单元,还被配置为执行对目标噪声数据进行以下处理中的至少一项:模糊处理、锐化处理与平滑处理,以调整目标图像特效中的特效元素的形状。

根据本公开实施例的第三方面,提供一种电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现上述第一方面中任一种可能的实现方式所示的图像特效的生成方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述第一方面中任一种可能的实现方式所示的图像特效的生成方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面中任一种可能的实现方式所示的图像特效的生成方法。

上述提供的任一种图像特效的生成装置或电子设备或计算机可读存储介质或计算机程序产品用于执行上文所提供的对应的方法,均可通过对根据预设网格的数量以及预设位置偏移矢量得到的第一噪声数据进行缩放和约束处理,得到目标噪声数据,进而通过显示该目标噪声数据,得到所需的目标图像特效。在这一过程中,只需确定预设网格的数量、预设位置偏移矢量、预设阈值、预设取值范围等参数,即可通过显示根据预设噪声函数生成的噪声数据进行处理得到的目标噪声数据,得到所需的目标图像特效,减少生成目标图像特效的工作量,提高生成目标图像特效的效率。另外,通过改变预设网格的数量、预设位置偏移矢量、预设阈值、预设取值范围等参数中至少一个,既可自动生成不同的目标图像特效,从而保证生成目标图像特效的方式的普适性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种目标图像特效的生成方法的流程图;

图2是根据一示例性实施例示出的一种预设网格的示意图;

图3是根据一示例性实施例示出的一种目标图像特效的大小与预设网格的数量的关系的示意图;

图4是根据一示例性实施例示出的一种第一噪声数据与预设网格的数量的关系的示意图;

图5是根据一示例性实施例示出的一种预设乘积算子与目标图像特效中特效元素的密度的关系的示意图;

图6是根据一示例性实施例示出的一种预设网格的坐标的示意图;

图7a是根据一示例性实施例示出的另一种目标图像特效的生成方法的流程图一;

图7b是根据一示例性实施例示出的另一种目标图像特效的生成方法的流程图二;

图8是根据一示例性实施例示出的一种目标图像特效的示意图;

图9是根据一示例性实施例示出的另一种目标图像特效的示意图;

图10是根据一示例性实施例示出的一种目标图像特效的生成装置的框图;

图11是根据一示例性实施例示出的一种电子设备的一般结构的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

需要说明的是,本公开实施例提供的图像特效的生成方法可以应用于电子设备或服务器。其中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端等。服务器可以为一台服务器,或者,也可以为由多台服务器组成的服务器集群,本公开对此不做限定。

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

图1是根据一示例性实施例示出的一种图像特效的生成方法的流程图,该图像特效的生成方法应用于电子设备中,如图1所示,该方法包括以下步骤:

S101、将预设网格的数量以及目标图像特效中各个像素点的预设位置偏移矢量输入预设噪声函数,得到第一噪声数据。

其中,该预设网格的数量为预先对目标图像特效进行划分得到的网格的数量,该网格的数量为至少一个。该预设网格的数量可以用于控制目标图像特效中特效元素的大小。一般的,目标图像特效的大小一定时,若预设网格的数量(的取值)越大,则第一噪声数据越密集,目标图像特效中特效元素越小。其中,以目标图像特效为具有特定形状的星星为例,该目标图像特效中的特效元素即具有特定形状的星星,该目标图像特效中特效元素的大小指的是该具有特定形状的星星的大小。

示例性的,如图2所示,对目标图像特效进行划分得到16个网格,分别为网格1-网格16。也就是说,图2中的每一个格子表示一个网格。

示例性的,如图3所示,以图像特效中的特效元素为大小不一的闪粉为例。若预设网格的数量为49,则所得到的目标图像特效如图3的(a)所示;若预设网格的数量为100,则所得到的目标图像特效如图3的(b)所示;若预设网格的数量为196,则所得到的目标图像特效如图3的(c)所示。也就是说,在目标图像特效的大小一定的情况下,该预设网格的数量越大,则第一噪声数据越密集(即图中所示白点越密集),目标图像特效中特效元素的大小(即图中所示白点的大小)越小。

另外,目标图像特效中各个像素点的位置偏移矢量用于控制目标图像特效中特效元素的移动方向和移动速度。以目标图像特效中的特效元素为特定形状的星星为例,该目标图像特效中各个像素点的位置偏移矢量可用于控制该目标图像特效中的特效元素,即该特定形状的星星的移动方向和移动速度。

在一种可能的实现方式中,上述位置偏移矢量均为单位时间内的距离偏移量与单位时间内的方向偏移量。以距离偏移量为例,该目标图像特效中某一特效元素对应的像素点的距离偏移量的取值越大,则该特效元素的移动速度越快。若该特效元素不移动,则该特效元素所对应的像素点的距离偏移量的取值可均为0。示例性的,像素点A的位置偏移矢量包括距离偏移量为2,方向偏移量为30°,则在单位时间内,该像素点A沿其偏移基准线30°的方向移动的距离为2。其中,该基准线可以是以该像素点A为原点所建立的直角坐标系的x轴,方向偏移量可以是像素点A以x轴的正轴为0°在顺时针方向偏转的角度。

在一种可能的实现方式中,该位置偏移矢量为与时间有关的变量。也就是说,位置偏移矢量随时间发生变化。

在一种可能的实现方式中,上述第一噪声数据为二维噪声数据。

示例性的,由于利用梯度噪声函数所产生的噪声数据具有连续性,上述预设噪声函数可以为梯度噪声函数。例如柏林噪声函数等。

在一种可能的实现方式中,二维噪声数据的取值范围为[0,1]。

需要说明的是,该二维噪声数据为同一图像中不同像素点的灰度值,因此,该二维噪声数据可以灰度图像的形式显示。

示例性的,与上述图3相对应,如图4所示,以图像特效为大小不一的闪粉为例。若预设网格的数量为49,则所得到的第一噪声数据如图4的(a)所示;若预设网格的数量为100,则所得到的第一噪声数据如图4的(b)所示;若预设网格的数量为196,则所得到的第一噪声数据如图4的(c)所示。也就是说,目标图像特效的大小相同且目标图像特效中每一像素点的位置偏移矢量相同,预设网格的数量不同,则将该预设网格的数量和位置偏移矢量输入相同预设噪声函数所得到的第一噪声数据不同。

需要说明的是,预设网格的数量是根据所需的目标图像特效中特效元素的大小来预先设定的。或者,预设网格的数量是根据不同场景的需求确定的。一般的,对某一目标图像特效进行划分所得到的所有网格的大小相同。

S102、放大第一噪声数据中大于预设阈值的数据的取值,缩小第一噪声数据中小于预设阈值的取值,得到第二噪声数据。

其中,第二噪声数据即为某一图像中各个像素点的灰度值,该灰度值是随时间变化的。

可选的,放大第一噪声数据中大于预设阈值的数据的取值,缩小第一噪声数据中小于预设阈值的数据的取值(即对第一噪声数据进行缩放处理),得到第二噪声数据。

在一种可能的实现方式中,根据预设乘积算子,放大第一噪声数据的取值,得到第三噪声数据,该第三噪声数据即经该预设乘积算子放大后的第一噪声数据;根据预设幂次算子,放大第三噪声数据中大于预设阈值的数据的取值,缩小第三噪声数据中小于预设阈值的数据的取值,得到第二噪声数据。其中,上述预设阈值为1。

可选的,在得到第二噪声数据之后,进一步根据预设取值范围对第二噪声数据的取值进行约束,得到目标噪声数据,即执行下述步骤S103。在一种可能的实现方式中,根据预设取值范围,确定预设钳制算子;随后,根据该预设钳制算子,将第二噪声数据中取值超过预设取值范围的数据的取值调整为预设取值范围内的取值,得到目标噪声数据,从而通过该预设钳制算子,对目标噪声数据中的数据的取值进行约束,以避免所得到目标图像特效中各个像素之间的取值的差异较大,保证目标图像特效的显示效果。

由于利用预设乘积算子、预设幂次算子以及预设钳制算子对噪声数据进行处理的过程一般是依次进行的,以最终得到目标噪声数据,因此,在此处对步骤S102和步骤S103一同进行介绍。

在一种可能的实现方式中,通过根据预设取值范围所确定的预设钳制算子来保证目标噪声数据的取值位于该预设取值范围内。示例性的,以预设取值范围为[0.0,1.0]为例,预设钳制算子可以为S=min(max(x,0.0),1.0),其中,S为所得到的目标噪声数据,x为第二噪声数据,也就是经预设乘积算子与预设幂次算子依次进行缩放处理后的第一噪声数据。

需要说明的是,通过上述预设乘积算子、预设幂次算子以及预设钳制算子可以控制所需的目标图像特效中特效元素的密度。一般的,预设乘积算子的取值越大,所得到的目标图像特效中特效元素的密度越大。示例性的,以目标图像特效中的特效元素为大小不一的闪粉为例,预设乘积算子的取值越大,则该目标图像中的特效元素即闪粉越密集。

在一种可能的实现方式中,预设乘积算子的取值范围可以为[1.2,1.4]。当然,该预设乘积算子的取值可以根据实际应用场景来确定,此时,该预设乘积算子的取值也可以是除上述[1.2,1.4]之外的其他取值。

示例性的,如图5所示,以目标图像特效中的特效元素为大小不一的闪粉为例。在预设钳制算子相同且预设幂次算子相同的情况下,若预设乘积算子的取值为1.2,则所得到的目标图像特效如图5的(a)所示;若预设乘积算子的取值为1.3,则所得到的目标图像特效如图5的(b)所示;若预设乘积算子的取值为1.4,则所得到的目标图像特效如图5的(c)所示。也就是说,预设乘积算子的取值越大,则目标图像中的特效元素即闪粉越密集。

在一种可能的实现方式中,预设幂次算子一般为常量,且取值较大。例如,预设幂次算子的取值为100。

需要说明的是,在生成目标图像特效的过程中,只需确定预设乘积算子以及预设幂次算子,即可得到用于自动生成特效元素的密度符合需求的目标图像特效的第二噪声数据,从而减少生成目标图像特效的过程中的工作量,提高生成目标图像特效的效率。只需要通过改变预设乘积算子以及预设幂次算子,即可得到不同第二噪声数据,从而根据该第二噪声数据自动生成不同的目标图像特效,从而保证生成目标图像特效的方式的普适性。

在一种可能的实现方式中,预设钳制算子主要用于对经预设乘积算子与预设幂次算子处理后的第一噪声数据进行约束,以将目标噪声数据的取值范围约束在预设取值范围内,例如上述[0.0,1.0]。

在一种可能的实现方式中,以预设取值范围为[0.0,1.0]为例,目标噪声数据满足公式:S=min(max((noise*multiply)

需要说明的是,通过将预先确定的第一噪声数据、预设乘积算子、预设幂次算子、预设钳制算子直接输入到该公式中,即可得到用于生成所需的目标图像特效的目标噪声数据,从而提高生成所需的目标图像特效的效率,且通过更改上述第一噪声数据、预设乘积算子、预设幂次算子、预设钳制算子等,即可得到用于生成其他不同目标图像特效的目标噪声数据,进而得到不同目标图像特效,可以较好的保证该生成目标图像特效的方法的普适性。

另外,在生成目标图像特效的过程中,通过上述预设钳制算子,即可将目标图像特效中各个像素的取值限制在预设取值范围内,避免目标图像特效中像素取值差异较大的情况。

需要说明的是,预设算子(即上述预设乘积算子、预设幂次算子以及预设钳制算子)可以为固定算子,也可以为根据不同场景的需求设定的算子。可选的,预设算子中还可以包括除上述预设乘积算子、预设幂次算子以及预设钳制算子外的其他算子。

,通过预先确定的预设乘积算子、预设幂次算子以及预设钳制算子,可以对目标图像特效中的特效元素的密度和大小进行调整。因此,在确定预设乘积算子、预设幂次算子以及预设钳制算子的情况下,可自动对第一噪声数据进行缩放处理得到目标噪声数据,进而得到目标图像特效,以减少生成目标噪声数据的工作量,提高生成目标图像特效的效率。只需要通过改变预设乘积算子、预设幂次算子以及预设钳制算子,即可得到不同的目标图像特效,从而保证生成目标图像特效的方式的普适性。

S103、根据预设取值范围对第二噪声数据的取值进行约束,得到目标噪声数据。

关于步骤S103的具体介绍可以参见上述内容,在此不进行赘述。

S104、显示目标噪声数据,得到目标图像特效。

通过本实施例,可得到大小不一的闪粉状的目标图像特效(即该目标图像特效中的特效元素为闪粉)。示例性的,通过上述过程可得到如图3或图5所示的大小不一的闪粉状的目标图像特效。

需要说明的是,通过上述过程,本公开可通过预设算子对根据预设网格的数量以及预设位置偏移矢量得到的第一噪声数据进行缩放处理,得到目标噪声数据,并通过显示该目标噪声数据,得到所需的目标图像特效。在这一过程中,只需确定预设网格的数量、预设位置偏移矢量、预设算子等参数,即可自动生成目标图像特效,减少生成目标图像特效的工作量,提高生成目标图像特效的效率。且通过改变预设网格的数量、预设位置偏移矢量、预设算子等参数,即可得到新的目标图像特效,从而保证生成目标图像特效的方式的普适性。

可选的,为得到具有不同的闪烁效果的目标图像特效,在上述步骤S104之前,如图7a所示,该方法还可以包括S105和S106:

S105、将与预设网格对应的随机数以及当前时刻输入预设周期函数,得到与预设网格对应的随时间变化的明暗值。

其中,随机数用于控制目标图像特效中特效元素的闪烁频率。另外,关于预设网格的数量以及预设网格(即上述预先对目标图像特效进行划分得到的网格)的介绍可以参见上述实施例,在此不再赘述。

在一种可能的实现方式中,与预设网格对应的随机数是利用随机算子确定的。例如,该随机算子可以为hash value。

具体的,确定每一预设网格的坐标,并根据每一预设网格的坐标生成该预设网格对应的哈希值。随后,将根据预设网格的坐标生成的哈希值作为与该预设网格对应的随机数。

示例性的,以图2为例,每一预设网格的坐标分别如图6所示,网格1-网格16的坐标分别为(0,0)、(1,0)、(2,0)、(3,0)、(0,1)、(1,1)、(2,1)、(3,1)、(0,2)、1,2)、(2,2)、(3,2)、(0,3)、(1,3)、(2,3)、(3,3)。

在一种可能的实现方式中,对于不同的目标图像特效,可以采用相同或不同的哈希函数来确定每一预设网格对应的随机数,从而生成不同的目标图像特效。

在一种可能的实现方式中,预设周期函数可以为三角函数、取模函数等周期性函数。

可选的,在确定与预设网格对应的随机数后,将与预设网格以及当前时刻输入到预设周期函数中,则可得到与该预设网格对应的明暗值。此时,在确定随机数后,可自动根据当前时刻以及预设周期函数确与预设网格对应的明暗值,以便于根据明暗值对目标噪声数据进行更新,得到所需的目标图像特效。

S106、根据明暗值对目标噪声数据进行闪烁处理,更新目标噪声数据。

可选的,根据预设网格对应的明暗值对该预设网格对应的目标噪声数据进行闪烁处理,以更新该目标噪声数据。也就是说,根据预设网格对应的明暗值,对该预设网格所对应的目标图像特效中的相应位置处的像素点的取值,即目标噪声数据进行闪烁处理,得到更新后的目标噪声数据。

在一种可能的实现方式中,以预设周期函数为sin()函数为例,更新后的目标噪声函数满足公式:S'=S*sin(time*hashVal)。其中,S为上述步骤S102中得到的目标噪声数据,即更新前的目标噪声数据,S'为更新后的目标噪声数据,hashVal为与预设网格对应的随机数,time为时间变量,该时间变量用于表示当前时间,且该时间变量与所得目标图像特效的周期变化时长相关联。需要说明的是,在确定随机数后,直接将随机数输入上述公式,即可自动根据当前时刻以及预设周期函数确定与预设网格对应的明暗值,并得到根据该明暗值更新后的目标噪声数据,进而通过显示该目标噪声数据生成所需的目标图像特效,从而减少生成目标图像特效的工作量,提高生成目标图像特效的效率。另外,通过更换上述公式中的随机数,或者预设周期函数等,可确定不同的随时间的变化的明暗值,从而根据该明暗值得到不同目标图像特效,保证生成目标图像特效的方式的普适性。

在一种可能的实现方式中,随机数的取值范围为[0,1]。当然,根据实际应用场景的需要,随机数的取值范围也可以设置为[0,1]之外的其他取值范围。

在一种可能的实现方式中,可以先根据更新前的目标噪声数据与预设网格的对应关系,以及明暗值与预设网格的对应关系,建立明暗值与更新前的目标噪声数据的对应关系,进而利用明暗值对相应的更新前的目标噪声数据进行闪烁处理,从而得到更新后的目标噪声数据。闪烁处理的过程可参见上述公式,其他地方不再介绍。

需要说明的是,在确定随机数后,可自动根据当前时刻以及预设周期函数确定与预设网格对应的明暗值,以便于根据明暗值对目标噪声数据进行更新,得到所需的目标图像特效,从而减少生成目标图像特效的工作量,提高生成目标图像特效的效率。另外,通过更换确定随机数的方法(即哈希函数)也就是更换随机数,或者预设周期函数,则可以确定不同的随时间的变化的明暗值,从而得到不同的目标图像特效,保证生成目标图像特效的方式具有较好的普适性。

图7b是根据一示例性实施例示出的另一种图像特效的生成方法的流程图,为生成具有多种不同形状的特效元素的目标图像特效,如图7b所示,该图像特效的生成方法还包括如上述步骤S101-步骤S104以及步骤S105和S106之外的步骤S107。其中,关于步骤S101-步骤S104以及步骤S105和步骤S106的介绍可以参见上述介绍,在此不再赘述。

如图7b所示,在步骤S104之前,该方法还包括步骤S107:

S107、对目标噪声数据进行图像后处理操作。

其中,图像后处理操作是指以下处理中的至少一项:模糊处理、锐化处理与平滑处理。通过这些图像后处理操作,可以实现对目标图像特效中的特效元素的形状的调整。当然,图像后处理操作也可以是不同于上述模糊处理、锐化处理以及平滑处理的其他处理,或者是图像后处理操作还包含该其他处理。

需要说明的是,目标噪声数据为目标图像特效中各个像素点的取值,且图像后处理操作是指利用像素位置对图像中每一像素位置(像素点)进行进一步处理(即对每一像素点的取值进行进一步计算),以完成例如模糊、锐化、平滑等操作的过程,因此,可以说是对目标噪声数据进行图像后处理操作。

可选的,在通过步骤S103得到目标噪声数据或者通过步骤S106得到更新后的目标噪声数据后,对目标噪声数据所对应的每一像素位置进行图像后处理操作,以调整根据该目标噪声数据生成的目标图像特效中的特效元素的形状,从而在无需生成中间图像的情况下,通过显示该目标噪声数据,得到所需的图像特效。

在一种可能的实现方式中,根据预设矩阵算子对上述步骤S103中得到的目标噪声数据或者通过步骤S106得到更新后的目标噪声数据进行卷积操作,随后,显示经过卷积操作后的目标噪声数据,从而得到具有所需的特效元素的形状的目标图像特效。其中,上述预设矩阵算子是根据当前所需的目标图像特效中的特效元素的形状确定的。

示例性的,以所需的目标图像特效中的特效元素的形状为“十字形”的星星为例,在得到目标噪声数据后,进一步利用例如图8的(a)所示的矩阵算子,来对该目标噪声数据进行卷积。其中,该矩阵算子除框出的部分外,其余部分均为0。随后,显示经过卷积后的目标噪声数据,得到如图8的(b)所示的特效元素的形状为“十字形”的星星的目标图像特效。

示例性的,以所需的目标图像特效中的特效元素的形状为“X字形”的星星为例,在得到目标噪声数据后,进一步利用例如图9的(a)所示的矩阵算子,来对该目标噪声数据进行卷积。其中,该矩阵算子除框出的部分外,其余部分均为0。随后,以图像形式显示进行卷积后的目标噪声数据,得到如图9的(b)所示的特效元素的形状为“X字形”的星星的目标图像特效。

也就是说,通过这一过程,只需要确定预设矩阵算子,即可自动对目标图像特效中的特效元素的形状进行调整,得到具有所需形状的特效元素的目标图像特效,减少生成具有所需形状的特效元素的目标图像特效的工作量,提高生成具有所需形状的特效元素的目标图像特效的效率。通过改变该预设矩阵算子,即可改变目标图像特效中的特效元素的形状,因此,该生成目标图像特效的方式的普适性较好。

在另一种可能的实现方式中,可以通过噪声函数与特定形状生成函数来调整所得到的目标图像特效中特效元素的形状,从而得到特效元素的形状符合需求的目标图像特效。

需要说明的是,通过上述过程,在生成目标图像特效的过程中,只需确定预设网格的数量、预设位置偏移矢量、预设算子、随机数与预设矩阵算子等参数,即可自动生成特效元素的密度、大小、闪烁频率以及形状均符合需求的目标图像特效,减少生成目标图像特效的工作量,提高生成图像特效的效率。另外,通过改变上述预设网格的数量、预设位置偏移矢量、预设算子、随机数与预设矩阵算子等参数,也可以得到不同的目标图像特效,从而保证生成目标图像特效的方式的普适性。

在一种可能的实现方式中,本公开可以通过GLSL着色器语言来实现,由于GLSL着色器语言为并行计算语言,可同时对每一像素执行相同流程,也就是说,确定上述步骤中的预设网格的数量、预设位置偏移矢量、预设算子以及随机数(和预设矩阵算子)等参数后,可同时对每一像素位置的灰度值进行处理,即对第一噪声数据或目标噪声数据进行处理,从而在无需生成中间图像数据的情况下,直接生成所需的目标图像特效,进一步提高生成所需图像特效的效率。

在一种可能的实现方式中,在上述步骤S106之后,还可进一步结合蒙版(也可以说遮罩图像)来对目标图像特效中需要显示的区域以及该目标图像特效中特效元素的颜色进行调整。其中,蒙版通常分为三种,即图层蒙版、剪切蒙版、矢量蒙版,可用于调整图像的显示区域以及图像颜色等。

图10是根据一示例性实施例示出的一种图像特效的生成装置的框图。参照图10,该装置包括处理单元1001和显示单元1002。

该处理单元1001被配置为执行将预设网格的数量以及目标图像特效中各个像素的预设位置偏移矢量输入预设噪声函数,得到第一噪声数据,预设网格的数量根据目标图像特效中特效元素的大小确定,预设位置偏移矢量随时间变化。

该处理单元1001还被配置为执行放大第一噪声数据中大于预设阈值的数据的取值,缩小第一噪声数据中小于预设阈值的数据的取值,得到第二噪声数据;根据预设取值范围对第二噪声数据进行约束,得到目标噪声数据。

在一种可能的实现方式中,该处理单元1001具体被配置为执行根据预设乘积算子放大第一噪声数据的取值,得到第三噪声数据,即经预设乘积算子放大后的第一噪声数据;根据预设幂次算子,放大第三噪声数据中大于预设阈值的数据的取值,缩小第三噪声数据中小于预设阈值的数据的取值,得到第二噪声数据。

在一种可能的实现方式中,该处理单元1001具体被配置为执行根据预设取值范围,确定预设钳制算子;根据预设钳制算子,将第二噪声数据中取值超过预设取值范围的数据的取值调整为预设取值范围内的取值,得到目标噪声数据。

在一种可能的实现方式中,预设阈值为[0.0,1.0],目标噪声数据满足以下公式:

S=min(max((noise*multiply)

其中,S为目标噪声数据,noise为第一噪声数据,multiply为所述预设乘积算子,power为所述预设幂次算子,min(max((noise*multiply)

在另一种可能的实现方式中,该处理单元1001具体还被配置为执行将与预设网格对应的随机数以及当前时刻输入预设周期函数,得到与预设网格对应的随时间变化的明暗值,该随机数用于控制目标图像特效中特效元素的闪烁频率;随后,根据该明暗值对目标噪声数据进行闪烁处理,更新该目标噪声数据。

在另一种可能的实现方式中,预设周期函数为sin()函数,更新后的目标噪声数据满足以下公式:

S'=S*sin(time*hashVal)

其中,S为更新前的目标噪声数据,S'为更新后的目标噪声数据,hashVal为对应预设网格的随机数,time为时间变量。

在另一种可能的实现方式中,该处理单元1001具体还被配置为执行对目标噪声数据进行以下处理中的至少一项:模糊处理、锐化处理与平滑处理,以调整目标图像特效中的特效元素的形状。

显示单元1002,被配置为执行显示目标噪声数据,得到目标图像特效。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图11是根据一示例性实施例示出的一种电子设备的框图。该电子设备可以包括至少一个处理器1101,通信总线1102,存储器1103以及至少一个通信接口1104。

处理器1101可以是一个处理器(central processing units,CPU),微处理单元,特定用途集成电路(application specific integrated circuit,ASIC),或一个或多个用于控制本公开方案程序执行的集成电路。

通信总线1102可包括一通路,在上述组件之间传送信息。

通信接口1104,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如服务器、以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。

存储器1103可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。

其中,存储器1103用于存储执行本公开方案的应用程序代码,并由处理器1101来控制执行。处理器1101用于执行存储器1103中存储的应用程序代码,从而实现本公开方法中的功能。

在具体实现中,作为一种实施例,处理器1101可以包括一个或多个CPU,例如图11中的CPU0和CPU1。

在具体实现中,作为一种实施例,该电子设备可以包括多个处理器,例如图11中的处理器1101和处理器1105。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,该电子设备还可以包括输入设备1106和输出设备1107。输入设备1106和处理器1101通信,可以以多种方式接受用户的输入。例如,输入设备1106是鼠标、键盘、触摸屏设备或传感设备等。输出设备1107和处理器1101通信,可以以多种方式来显示信息。例如,输出设备1107可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备等。

本领域技术人员可以理解,图11中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1103,上述指令可由电子设备的处理器1101执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器RAM、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1104,上述指令可由电子设备的处理器1101或处理器1105执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机设备执行上述所示实施例提供的图像特效的生成方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 图像特效的生成方法、装置、电子设备及存储介质
  • 一种图像特效的生成方法、装置、电子设备及存储介质
技术分类

06120113194000