图像特效处理方法、装置和计算机可读存储介质与流程

文档序号:16253228发布日期:2018-12-12 00:13阅读:210来源:国知局
图像特效处理方法、装置和计算机可读存储介质与流程

本公开涉及一种图像技术领域,特别是涉及一种图像特效处理方法、装置和计算机可读存储介质。

背景技术

随着手机、平板电脑等便携式设备技术的发展,便携式设备具有了越来越多的功能,例如:上网、拍照、导航等等。其中尤其是拍照功能更是成为了便携式设备中不可或缺的一部分。为了适应用户对照片的越来越高的个性化需求,在照片中添加特效已经成为了时下流行的美图方式,例如,用户在拍照后,为人脸加上猫胡须、红晕等等。为了方便用户对拍摄的照片添加特效,终端设备上的拍照功能会自带一些图像处理功能,如用于美肤的滤镜等,用户也可以从云端下载特效数据包,将其加载到所拍摄的照片上。



技术实现要素:

本公开解决的技术问题是提供一种图像特效处理方法,以至少部分地解决如何提高用户体验效果的技术问题。此外,还提供一种图像特效处理装置、图像特效处理硬件装置和计算机可读存储介质。

为了实现上述目的,根据本公开的一个方面,提供以下技术方案:

一种图像特效处理方法,包括:

确定所述特效数据包中是否包含待加载滤镜特效;

在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理。

进一步地,获取特效数据包,包括:

根据用户选定的特效从云端下载对应的特效数据包。

进一步地,确定所述特效数据包中是否包含待加载滤镜特效,包括:

解析所述特效数据包;

确定解析后的所述特效数据包中是否包含有所述待加载滤镜特效对应的滤镜字段。

进一步地,在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理,包括:

在所述待加载滤镜特效与所述已加载滤镜特效存在冲突时,移除所述已加载滤镜特效。

进一步地,在所述待加载滤镜特效与所述已加载滤镜特效存在冲突时,移除所述已加载滤镜特效,包括:

确定所述待加载滤镜特效的类型;

在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效。

进一步地,在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效,包括:

在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型不相同时,移除所述已加载滤镜特效。

进一步地,在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效,包括:

将所述已加载滤镜特效的类型与预设类型集合进行匹配;所述预设类型集合包括与所述待加载滤镜特效的类型冲突的至少一种预设类型;

在匹配成功时,移除所述已加载滤镜特效。

进一步地,在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效,包括:

将所述已加载滤镜特效的类型与预设类型集合进行匹配;所述预设类型集合包括与所述待加载滤镜特效的类型不冲突的至少一种预设类型;

在匹配不成功时,移除所述已加载滤镜特效。

进一步地,所述移除所述已加载滤镜特效,包括:

更新渲染链表,以从所述渲染链表中去除所述已记载滤镜特效对应的项。

进一步地,在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理,还包括:

根据所述渲染链表对所述图像进行特效处理。

进一步地,在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理,包括:

在所述待加载滤镜特效与所述已加载滤镜特效不存在冲突时,将所述已加载滤镜特效与所述待加载滤镜特效进行叠加。

进一步地,所述已加载滤镜特效为本地保存的滤镜特效;所述特效数据包为云端下载的特效数据包。

为了实现上述目的,根据本公开的另一个方面,还提供以下技术方案:

一种图像特效处理装置,包括:

获取模块,用于获取特效数据包;

确定模块,用于确定所述特效数据包中是否包含待加载滤镜特效;

处理模块,用于在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理。

进一步地,所述获取模块,包括:

下载子模块,用于根据用户选定的特效从云端下载对应的特效数据包。

进一步地,所述确定模块,包括:

解析子模块,用于解析所述特效数据包;

第一确定子模块,用于确定解析后的所述特效数据包中是否包含有所述待加载滤镜特效对应的滤镜字段。

进一步地,所述处理模块,包括:

第一移除子模块,用于在所述待加载滤镜特效与所述已加载滤镜特效存在冲突时,移除所述已加载滤镜特效。

进一步地,所述第一移除子模块,包括:

第二确定子模块,用于确定所述待加载滤镜特效的类型;

第二移除子模块,用于在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效。

进一步地,所述第二移除子模块,包括:

第三移除子模块,用于在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型不相同时,移除所述已加载滤镜特效。

进一步地,所述第二移除子模块,包括:

第一匹配子模块,用于将所述已加载滤镜特效的类型与预设类型集合进行匹配;所述预设类型集合包括与所述待加载滤镜特效的类型冲突的至少一种预设类型;

第四移除子模块,用于在匹配成功时,移除所述已加载滤镜特效。

进一步地,所述第二移除子模块,包括:

第二匹配子模块,用于将所述已加载滤镜特效的类型与预设类型集合进行匹配;所述预设类型集合包括与所述待加载滤镜特效的类型不冲突的至少一种预设类型;

第五移除子模块,用于在匹配不成功时,移除所述已加载滤镜特效。

所述第一移除子模块、第二移除子模块、第三移除子模块、第四移除子模块和第五移除子模块中的任一个,包括:

更新子模块,用于更新渲染链表,以从所述渲染链表中去除所述已记载滤镜特效对应的项。

进一步地,所述处理模块,包括:

处理子模块,用于根据所述渲染链表对所述图像进行特效处理。

进一步地,所述处理模块,包括:

叠加子模块,用于在所述待加载滤镜特效与所述已加载滤镜特效不存在冲突时,将所述已加载滤镜特效与所述待加载滤镜特效进行叠加。

进一步地,所述已加载滤镜特效为本地保存的滤镜特效;所述特效数据包为云端下载的特效数据包。

为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:

一种图像特效处理硬件装置,包括:

存储器,用于存储非暂时性计算机可读指令;以及

处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现上述任一图像特效处理方法技术方案中所述的步骤。

为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:

一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述任一图像特效处理方法技术方案中所述的步骤。

为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:

一种图像特效处理终端,包括上述任一图像特效处理装置。

本公开实施例提供一种图像特效处理方法、图像特效处理装置、图像特效处理硬件装置、计算机可读存储介质和图像特效处理终端。其中,该图像特效处理方法包括获取特效数据包;确定所述特效数据包中是否包含待加载滤镜特效;在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理。本公开实施例通过采取该技术方案,可以在获取的特效数据包中存在待加载滤镜特效时,根据获取的特效数据包和已加载滤镜特效对图像进行特效处理,由此可以在待加载的特效数据包中包括滤镜特效的情况下,进一步考虑图像上已经加载了的滤镜特效对图像进行特效处理,以使图像的特效效果更佳符合预期,从而提高了用户体验效果。

上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1为根据本公开一个实施例的图像特效处理方法的流程示意图;

图2为根据图1所示实施例中步骤s2的步骤流程示意图;

图3为根据本公开一实施例中特效处理时的步骤流程示意图;

图4为根据本公开一个实施例的图像特效处理装置的结构示意图;

图5为根据本公开一个实施例的图像特效处理硬件装置的结构示意图;

图6为根据本公开一个实施例的计算机可读存储介质的结构示意图;

图7为根据本公开一个实施例的图像特效处理终端的结构示意图。

具体实施方式

以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。

还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。

为了解决如何提高用户体验效果的技术问题,本公开实施例提供一种图像特效处理方法。如图1所示,该图像特效处理方法主要包括如下步骤s1至步骤s3。其中:

步骤s1:获取特效数据包。

其中,特效数据包可以包括对图像进行特殊效果处理的各种元素,例如滤镜、贴纸等,滤镜用于实现图像的各种特殊效果,例如:黑白、怀旧、云彩、扭曲、木刻、光照效果、色调分离等等。贴纸可以是具有某种图形或图像的小尺寸图像,可以将其贴于待处理图像上。

步骤s2:确定所述特效数据包中是否包含待加载滤镜特效。

其中,可以通过解析特效数据包查看特效数据包中是否包含待加载滤镜特效。特效数据包中不同元素可以由不同的字段来描述,因此可以通过匹配滤镜对应的字段来确定特效数据包中是否包括滤镜。

步骤s3:在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理。

其中,待加载滤镜和已加载滤镜都是滤镜,可能是同一种类型,甚至可能是同一个滤镜,也有可能是不同类型的滤镜。已加载滤镜是已经被加载到图像上,也即对图像已经经过已加载滤镜的特效处理,而待加载滤镜则是待要加载到图像上的滤镜。

为了便于理解,下面以具体实施例对图像特效处理的过程进行详细说明。

本实施例中,图像特效处理方法可以应用于具有拍照、图像处理功能及触控屏的智能手机、智能相机、掌上电脑、平板电脑、电子书、手提电脑、计算机等智能终端中,实现图像的特效处理。例如,用户使用手机在拍完照以后,可以根据手机上的图像特效处理系统提供的接口,选择在当前拍摄的照片上加载一种或者多种特效。图像特效处理系统可以根据用户的选择,获取待加载的一种或多种特效对应的特效数据包。

本实施例中,图像特效处理系统可以预先设置一特效数据库,用于存储各种不同的特效数据包。特效数据库可以包括本地特效数据库和/或云端特效数据库。用户如果选择的特效数据包是存储在云端特效数据库中的,则可以先将云端特效数据包下载到本地,如果是本地特效数据库中的,则直接从本地特效数据库中获取特效数据包。

本实施例中,在获取到特效数据包之后,可以对特效数据包对应的代码进行解析,并匹配查看代码中是否包括滤镜字段,如果包含,则认为包括待加载滤镜特效,如果不存在,则不包含待加载滤镜。特效数据包可以仅包括滤镜特效或者仅包括贴纸等其他特效的数据包,也可以是滤镜特效与贴纸等其他特效组合而成的数据包。当然,在其他实施例中,也可以通过其他方式确定是否包含滤镜特效,例如为了适用于本实施例的图像特效处理方法,可以对每个特效数据包单独添加用于标识是否包含滤镜特效的标识,这种情况下就可以直接通过该标识来判断是否包含待加载滤镜特效。

本实施例中,在确定特效数据包中包含待加载滤镜特效时,可以根据图像上已经加载了的滤镜特效和特效数据包中的待加载滤镜特效对图像进行特效处理。当然,可以理解的是,对于特效数据包中不包含待加载滤镜特效的情况下,可以按正常处理流程进行特效处理,本公开对此不做限制。

图像上已经加载了的滤镜特效可以是用户在此之前选择使用的特效,或者是根据用户的设置自动加载的滤镜特效。例如,用户在拍照或者直播时,默认设置为美肤效果,那么此时所获取的图像或者视频帧中均已经加载了美肤相关的滤镜特效。当然,可以理解的是,图像上在此之前并未加载滤镜特效的情况下,也可以按照正常处理流程进行特效处理,本公开对此不做限制。

本实施例中,图像上已经加载有滤镜特效的情况下,可以通过综合考虑待加载滤镜特效和已加载滤镜特效对图像进行特效处理。例如,在某些情况下,可以通过将待加载滤镜特效叠加在已加载滤镜特效的方式进行特效处理,而在另一些情况下,可以去掉已加载滤镜特效后,再应用待加载滤镜特效的方式进行特效处理,还可以在一些情况下,保留已加载滤镜特效,而放弃待加载滤镜特效的方式进行特效处理。当然,可以理解的是,特效数据包中还包括其他特效元素的情况下,按照其他特效元素的正常处理流程将其他特效元素也加载到图像上去即可。

本公开实施例在获取到特效数据包后,通过分析特效数据包是否带有滤镜特效,并在带有滤镜特效的情况下,综合考虑图像上已加载滤镜特效和特效数据包中的待加载滤镜特效对图像进行处理,以避免由于已加载滤镜特效与待加载滤镜特效存在冲突,而导致特效处理后的图像与预期不符的情况,从而提高了用户的体验效果。

在一个可选的实施例中,步骤s1可以包括:

根据用户选定的特效从云端下载对应的特效数据包。

在该可选的实施例中,为了节省资源,图像特效处理系统在初始情况下可以将特效数据包存储在云端的特效数据库中,用户可以通过图像特效处理系统提供的页面选择想要添加的特效,而图像特效处理系统可以根据用户的选择从云端下载对应的特效数据包,并存储在本地特效数据库中。如果用户所选择添加的特效对应的特效数据包已经存在于本地特效数据库,则可以直接从本地特效数据库中获取。由于图像特效处理系统可以提供多种多样的特效数据包,而每个特效数据包所占用的空间可能会比较大,因此特效数据包可以尽量存储在云端,以节省智能终端上的空间。图像特效处理系统可以在显示界面上为用户仅提供特效数据包对应的特效效果图,但是其对应的特效数据包可以在用户选择使用时再下载到本地。

在一个可选的实施例中,如图2所示,步骤s2即确定所述特效数据包中是否包含待加载滤镜特效的步骤可以包括:

步骤s21:解析所述特效数据包;

步骤s22:确定解析后的所述特效数据包中是否包含有所述待加载滤镜特效对应的滤镜字段。

该可选的实施例中,从应用层面看,特效数据包可以包括滤镜特效、贴纸等其他特效元素,而从具体的数据层看,特效数据包可以包括实现该特效数据包对应特效的代码部分、图片等,代码部分可能包括滤镜特效和/或其他特效元素的字段以及相应参数等,图像特效处理系统在对图像进行特效处理前,需要解析特效数据包,根据特效数据包中代码部分中特效元素对应的字段确定对图像的特效处理方式,以及根据字段后面跟随的值确定对图像进行该特效处理方式时的处理参数。例如,特效数据包的代码部分包括某种类型的滤镜特效对应的字段,那么可以确定需要对图像进行该种类型的滤镜处理,而根据滤镜特效字段后面跟随的相应值,可以确定在对图像进行滤镜处理时的处理参数,例如透明度、亮度、对比度等参数。

在一个可选的实施例中,步骤s3即在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理的步骤可以包括:

在所述待加载滤镜特效与所述已加载滤镜特效存在冲突时,移除所述已加载滤镜特效。

该可选的实施例中,如果特效数据包中包含待加载滤镜特效,而且图像中也已经加载了滤镜特效的情况下,还可以先判断待加载滤镜特效与已加载滤镜特效是否存在冲突,如果存在冲突,则将已加载滤镜特效移除,也即恢复已加载滤镜特效对图像影响。例如,已加载滤镜特效为对图像的黑白滤镜特效,而待加载滤镜特效为对图像添加光晕的特效,显然这两者是存在冲突的,因为在图像在黑白滤镜的特效下产生的图像是黑白色的,而光晕在黑白色的图像上无法体现出来,因此可以将黑白滤镜特效移除,以恢复图像的色彩,进而再给图像添加光晕特效。

本公开实施例通过判断图像上已加载滤镜特效与待加载特效滤镜之间是否存在冲突,来对图像进行进一步处理,即在已加载滤镜特效与待加载滤镜特效存在冲突时,将已加载滤镜图像移除,以解决已有技术中无论是否冲突,都直接将待加载滤镜特效叠加在已加载滤镜特效上,而使得在一些情况下,图像的特效叠加效果不佳,影响用户体验效果的问题。

在一可选的实施例中,如图3所示,在所述待加载滤镜特效与所述已加载滤镜特效存在冲突时,移除所述已加载滤镜特效的步骤可以包括:

步骤s31:确定所述待加载滤镜特效的类型;

步骤s32:在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效。

该可选的实施例中,可以根据滤镜特效的类型确定待加载滤镜特效与已加载滤镜特效之间是否会产生冲突。通常情况下,类型相同的滤镜特效之间不会产生冲突,而类型相近的滤镜特效之间产生冲突的可能性较小,而类型相差较大的滤镜特效之间产生冲突的可能性较大。因此,可以预先确定不同类型的滤镜特效的冲突可能性大小,并在实际操作时根据冲突可能性大小来判断已加载滤镜特效的类型与待加载滤镜特效的类型之间是否会产生冲突。

在一可选的实施例中,在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效的步骤可以包括:

在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型不相同时,移除所述已加载滤镜特效。

该可选的实施例中,由于同种类型的滤镜特效是不会发生冲突的,因此为了使得待加载滤镜特效的效果达到最佳,可以通过判断待加载滤镜特效与已加载滤镜特效的类型是否相同来确定两者是否会产生冲突。如果两者的类型不同,则直接将已加载滤镜特效移除,以避免已加载滤镜特效影响待加载滤镜特效的表现效果。该可选的实施例可以应用在一些预先定义好的场景,例如图像特效处理系统提供的滤镜特效、特效数据包中的组合特效之间比较独立的情况,也就是说,在一些无法叠加两种滤镜特效来实现超预期的特效效果的场景中,可以直接以该可选的实施例的方式来操作,这种操作方式简便易行,实施起来不会耗费太多资源,能够提高实时性图像特效处理的实时性。

在一个可选的实施例中,在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效,包括:

将所述已加载滤镜特效的类型与预设类型集合进行匹配;所述预设类型集合包括与所述待加载滤镜特效的类型冲突的至少一种预设类型;

在匹配成功时,移除所述已加载滤镜特效。

该可选的实施例中,可以预先根据滤镜特效的类型建立不同类型的滤镜特效之间的冲突对应关系,即在会发生冲突的两种滤镜特效类型之间建立冲突对应关系,以表明这两类滤镜特效是会发生冲突的,不能同时叠加加载在同一个图像上。预设类型集合中可以根据该冲突对应关系建立。在实际应用过程中,可以通过匹配与待加载滤镜特效类型存在冲突对应关系的滤镜特效类型,以确定已加载滤镜特效的类型是否与待加载滤镜特效的类型冲突,在存在冲突时,移除已加载滤镜特效。

在一可选的实施例中,在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效的步骤可以包括:

将所述已加载滤镜特效的类型与预设类型集合进行匹配;所述预设类型集合包括与所述待加载滤镜特效的类型不冲突的至少一种预设类型;

在匹配不成功时,移除所述已加载滤镜特效。

该可选的实施例中,还可以通过预先根据滤镜特效的类型建立不同类型的滤镜特效之间的叠加对应关系,即在不会发生冲突的两种滤镜特效类型之间建立叠加对应关系,以表明这两类滤镜特效不会发生冲突,可以同时叠加加载在同一个图像上。预设类型集合根据该叠加对应关系建立。在实际应用过程中,可以通过匹配与待加载滤镜特效类型不存在冲突对应关系的滤镜特效类型,以确定已加载滤镜特效的类型是否与待加载滤镜特效的类型冲突,在存在冲突时,移除已加载滤镜特效。

在一可选的实施例中,所述移除所述已加载滤镜特效可以包括:

更新渲染链表,以从所述渲染链表中去除所述已记载滤镜特效对应的项。

该可选的实施例中,在图像特效处理系统中,每一次对图像进行特效处理时,都会先建立一渲染链表,然后根据渲染链表对图像进行渲染,以实现特效处理。渲染链表中包括按顺序对图像进行渲染时所要执行的操作,渲染链表中的每一项包括待执行的操作以及执行顺序。在执行渲染时,根据渲染链表中的执行顺序对图像进行渲染操作。由于已加载滤镜特效已经包含在建立的渲染链表中,因此在加载特效数据包时,从渲染链表中移除已加载滤镜特效对应的那一项,并将特效数据包中的滤镜特效以及其他特效元素补充进来,之后再根据渲染链表对图像进行渲染。

在一个可选的实施例中,步骤s3即在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理的步骤还可以包括:

根据所述渲染链表对所述图像进行特效处理。

该可选的实施例中,在加载特效数据包时,需要对图像重新渲染一次。而渲染链表也需要根据特效数据包中的内容进行更新,更新之后再根据渲染链表中的每一项对图像进行处理。如果待加载特效数据包中的滤镜特效与已加载滤镜特效存在冲突,则在更新渲染链表时,可以将已加载特效滤镜对应的那一项移除,并将特效数据包中的待加载滤镜特效以及其他特效元素对应的项补充进来。如果待加载特效数据包中的滤镜特效与已加载滤镜特效不存在冲突,则在更新渲染链表时,可以直接将特效数据包中的待加载滤镜特效以及其他特效元素对应的项添加到渲染链表即可。

在一个可选的实施例中,步骤s3即在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理的步骤还可以包括:

在所述待加载滤镜特效与所述已加载滤镜特效不存在冲突时,将所述已加载滤镜特效与所述待加载滤镜特效进行叠加。

该可选的实施例中,如果已加载滤镜特效与待加载滤镜特效不冲突的情况下,可以不移除已加载滤镜特效,将两者叠加加载在图像上,这样即能够节省资源,而且两种不冲突的滤镜特效同时应用在一个图像上,还能够产生超预期的效果,提高了用户体验效果。

在一可选的实施例中,所述已加载滤镜特效为本地保存的滤镜特效;所述特效数据包为云端下载的特效数据包。

该可选的实施例中,一种常见的应用场景是用户在打开摄像头获取图像时,预先已经加载了一种本地滤镜特效,例如美肤。而在获取图像之后或者之前,用户又选择了一种复杂的特效(通常情况下,为了节省资源复杂的特效对应的特效数据包都保存在云端),例如图像的人脸添加胡须等。图像特效处理系统在接收到用户选择的复杂特效的选定事件后,从云端下载对应的特效数据包。这种情况下,在加载特效数据包之前可以执行本公开实施例提出图像特效处理方法来解决已加载滤镜特效和特效数据包中的滤镜特效可能会存在冲突的问题,提高了用户体验效果。

在上文中,虽然按照上述的顺序描述了图像特效处理方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。

下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。

为了解决如何提高用户体验效果的技术问题,本公开实施例提供一种图像特效处理装置。该装置可以执行上述图像特效处理方法实施例中所述的步骤。如图4所示,该装置主要包括:获取模块41、确定模块42和处理模块43。其中,获取模块41用于获取特效数据包;确定模块42用于确定所述特效数据包中是否包含待加载滤镜特效;处理模块43用于在所述特效数据包中包含待加载滤镜特效时,根据所述特效数据包以及所述图像上的已加载滤镜特效对所述图像进行特效处理。

其中,特效数据包可以包括对图像进行特殊效果处理的各种元素,例如滤镜、贴纸等,滤镜用于实现图像的各种特殊效果,例如:黑白、怀旧、云彩、扭曲、木刻、光照效果、色调分离等等。贴纸可以是具有某种图形或图像的小尺寸图像,可以将其贴于待处理图像上。

其中,确定模块42可以通过解析特效数据包查看特效数据包中是否包含待加载滤镜特效。特效数据包中不同元素可以由不同的字段来描述,因此可以通过匹配滤镜对应的字段来确定特效数据包中是否包括滤镜。

待加载滤镜和已加载滤镜都是滤镜,可能是同一种类型,甚至可能是同一个滤镜,也有可能是不同类型的滤镜。已加载滤镜是已经被加载到图像上,也即对图像已经经过已加载滤镜的特效处理,而待加载滤镜则是待要加载到图像上的滤镜。

为了便于理解,下面以具体实施例对图像特效处理的过程进行详细说明。

本实施例中,图像特效处理装置可以应用于具有拍照、图像处理功能及触控屏的智能手机、智能相机、掌上电脑、平板电脑、电子书、手提电脑、计算机等智能终端中,实现图像的特效处理。

本实施例中,获取模块41在获取到特效数据包之后,确定模块42可以对特效数据包对应的代码进行解析,并匹配查看代码中是否包括滤镜字段,如果包含,则认为包括待加载滤镜特效,如果不存在,则不包含待加载滤镜。特效数据包可以仅包括滤镜特效或者仅包括贴纸等其他特效的数据包,也可以是滤镜特效与贴纸等其他特效组合而成的数据包。

本实施例中,确定模块42在确定特效数据包中包含待加载滤镜特效时,处理模块43可以根据图像上已经加载了的滤镜特效和特效数据包中的待加载滤镜特效对图像进行特效处理。当然,可以理解的是,对于特效数据包中不包含待加载滤镜特效的情况下,可以按正常处理流程进行特效处理,本公开对此不做限制。

在一个可选的实施例中,所述获取模块,包括:

下载子模块,用于根据用户选定的特效从云端下载对应的特效数据包。

在该可选的实施例中,为了节省资源,在初始情况下可以将特效数据包存储在云端的特效数据库中,用户可以通过图像特效处理系统提供的页面选择想要添加的特效,而下载子模块可以根据用户的选择从云端下载对应的特效数据包,并存储在本地特效数据库中。如果用户所选择添加的特效对应的特效数据包已经存在于本地特效数据库,则可以直接从本地特效数据库中获取。

在一个可选的实施例中,所述确定模块可以包括:

解析子模块,用于解析所述特效数据包;

第一确定子模块,用于确定解析后的所述特效数据包中是否包含有所述待加载滤镜特效对应的滤镜字段。

该可选的实施例中,从应用层面看,特效数据包可以包括滤镜特效、贴纸等其他特效元素,而从具体的数据层看,特效数据包可以包括实现该特效数据包对应特效的代码部分、图片等,代码部分可能包括滤镜特效和/或其他特效元素的字段以及相应参数等,在对图像进行特效处理前,解析子模块可以解析特效数据包,第一确定子模块可以根据特效数据包中代码部分中特效元素对应的字段确定对图像的特效处理方式,以及根据字段后面跟随的值确定对图像进行该特效处理方式时的处理参数。

在一个可选的实施例中,所述处理模块43可以包括:

第一移除子模块,用于在所述待加载滤镜特效与所述已加载滤镜特效存在冲突时,移除所述已加载滤镜特效。

该可选的实施例中,如果特效数据包中包含待加载滤镜特效,而且图像中也已经加载了滤镜特效的情况下,还可以先判断待加载滤镜特效与已加载滤镜特效是否存在冲突,如果存在冲突,第一移除子模块则将已加载滤镜特效移除,也即恢复已加载滤镜特效对图像影响。

本公开实施例通过判断图像上已加载滤镜特效与待加载特效滤镜之间是否存在冲突,来对图像进行进一步处理,即在已加载滤镜特效与待加载滤镜特效存在冲突时,将已加载滤镜图像移除,以解决已有技术中无论是否冲突,都直接将待加载滤镜特效叠加在已加载滤镜特效上,而使得在一些情况下,图像的特效叠加效果不佳,影响用户体验效果的问题。

在一可选的实施例中,所述第一移除子模块可以包括:

第二确定子模块,用于确定所述待加载滤镜特效的类型;

第二移除子模块,用于在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型冲突时,移除所述已加载滤镜特效。

该可选的实施例中,可以根据滤镜特效的类型确定待加载滤镜特效与已加载滤镜特效之间是否会产生冲突。通常情况下,类型相同的滤镜特效之间不会产生冲突,而类型相近的滤镜特效之间产生冲突的可能性较小,而类型相差较大的滤镜特效之间产生冲突的可能性较大。因此,可以预先确定不同类型的滤镜特效的冲突可能性大小,并在实际操作时根据冲突可能性大小来判断已加载滤镜特效的类型与待加载滤镜特效的类型之间是否会产生冲突。

在一可选的实施例中,所述第二移除子模块可以包括:

第三移除子模块,用于在所述待加载滤镜特效的类型与所述已加载滤镜特效的类型不相同时,移除所述已加载滤镜特效。

该可选的实施例中,由于同种类型的滤镜特效通常不会发生冲突,因此为了使得待加载滤镜特效的效果达到最佳,可以通过判断待加载滤镜特效与已加载滤镜特效的类型是否相同来确定两者是否会产生冲突。如果两者的类型不同,则直接将已加载滤镜特效移除,以避免已加载滤镜特效影响待加载滤镜特效的表现效果。该可选的实施例可以应用在一些预先定义好的场景,例如图像特效处理系统提供的滤镜特效、特效数据包中的组合特效之间比较独立的情况,也就是说,在一些无法叠加两种滤镜特效来实现超预期的特效效果的场景中,可以直接以该可选的实施例的方式来操作,这种操作方式简便易行,实施起来不会耗费太多资源,能够提高实时性图像特效处理的实时性。

在一个可选的实施例中,所述第二移除子模块可以包括:

第一匹配子模块,用于将所述已加载滤镜特效的类型与预设类型集合进行匹配;所述预设类型集合包括与所述待加载滤镜特效的类型冲突的至少一种预设类型;

第四移除子模块,用于在匹配成功时,移除所述已加载滤镜特效。

该可选的实施例中,在实际应用过程中,第一匹配子模块可以通过匹配与待加载滤镜特效类型存在冲突对应关系的滤镜特效类型,以确定已加载滤镜特效的类型是否与待加载滤镜特效的类型冲突,在存在冲突时,第四移除子模块移除已加载滤镜特效。

在一可选的实施例中,所述第二移除子模块可以包括:

第二匹配子模块,用于将所述已加载滤镜特效的类型与预设类型集合进行匹配;所述预设类型集合包括与所述待加载滤镜特效的类型不冲突的至少一种预设类型;

第五移除子模块,用于在匹配不成功时,移除所述已加载滤镜特效。

该可选的实施例中,在实际应用过程中,第二匹配子模块可以通过匹配与待加载滤镜特效类型不存在冲突对应关系的滤镜特效类型,以确定已加载滤镜特效的类型是否与待加载滤镜特效的类型冲突,在存在冲突时,第五移除子模块移除已加载滤镜特效。

在一可选的实施例中,所述第一移除子模块、第二移除子模块、第三移除子模块、第四移除子模块和第五移除子模块中的任一个,可以包括:

更新子模块,用于更新渲染链表,以从所述渲染链表中去除所述已记载滤镜特效对应的项。

该可选的实施例中,由于已加载滤镜特效已经包含在建立的渲染链表中,因此在加载特效数据包时,更新子模块从渲染链表中移除已加载滤镜特效对应的那一项,并将特效数据包中的滤镜特效以及其他特效元素补充进来,之后再根据渲染链表对图像进行渲染。

在一个可选的实施例中,所述处理模块43还可以包括:

处理子模块,用于根据所述渲染链表对所述图像进行特效处理。

该可选的实施例中,在加载特效数据包时,需要对图像重新渲染一次。而渲染链表也需要根据特效数据包中的内容进行更新,更新之后处理子模块再根据渲染链表中的每一项对图像进行处理。

在一个可选的实施例中,所述处理模块43还可以包括:

叠加子模块,用于在所述待加载滤镜特效与所述已加载滤镜特效不存在冲突时,将所述已加载滤镜特效与所述待加载滤镜特效进行叠加。

该可选的实施例中,如果已加载滤镜特效与待加载滤镜特效不冲突的情况下,可以不移除已加载滤镜特效,叠加子模块将两者叠加加载在图像上,这样即能够节省资源,而且两种不冲突的滤镜特效同时应用在一个图像上,还能够产生超预期的效果,提高了用户体验效果。

在一可选的实施例中,所述已加载滤镜特效为本地保存的滤镜特效;所述特效数据包为云端下载的特效数据包。

有关图像特效处理装置实施例的工作原理、实现的技术效果等详细说明可以参考前述图像特效处理方法实施例中的相关说明,在此不再赘述。

图5是图示根据本公开的实施例的图像特效处理硬件装置的硬件框图。如图5所示,根据本公开实施例的图像特效处理硬件装置50包括存储器51和处理器52。

该存储器51用于存储非暂时性计算机可读指令。具体地,存储器51可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。

该处理器52可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制图像特效处理硬件装置50中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器52用于运行该存储器51中存储的该计算机可读指令,使得该图像特效处理硬件装置50执行前述的本公开各实施例的图像特效处理方法的全部或部分步骤。

本领域技术人员应能理解,为了解决如何获得良好用户体验效果的技术问题,本实施例中也可以包括诸如通信总线、接口等公知的结构,这些公知的结构也应包含在本公开的保护范围之内。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

图6是图示根据本公开的实施例的计算机可读存储介质的示意图。如图6所示,根据本公开实施例的计算机可读存储介质60,其上存储有非暂时性计算机可读指令61。当该非暂时性计算机可读指令61由处理器运行时,执行前述的本公开各实施例的图像特效处理方法的全部或部分步骤。

上述计算机可读存储介质60包括但不限于:光存储介质(例如:cd-rom和dvd)、磁光存储介质(例如:mo)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置rom的媒体(例如:rom盒)。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

图7是图示根据本公开实施例的终端设备的硬件结构示意图。如图7所示,该图像特效处理终端70包括上述图像特效处理装置实施例。

该终端设备可以以各种形式来实施,本公开中的终端设备可以包括但不限于诸如移动电话、智能电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置、车载终端设备、车载显示终端、车载电子后视镜等等的移动终端设备以及诸如数字tv、台式计算机等等的固定终端设备。

作为等同替换的实施方式,该终端还可以包括其他组件。如图7所示,该图像特效处理终端70可以包括电源单元71、无线通信单元72、a/v(音频/视频)输入单元73、用户输入单元74、感测单元75、接口单元76、控制器77、输出单元78和存储单元79等等。图7示出了具有各种组件的终端,但是应理解的是,并不要求实施所有示出的组件,也可以替代地实施更多或更少的组件。

其中,无线通信单元72允许终端70与无线通信系统或网络之间的无线电通信。a/v输入单元73用于接收音频或视频信号。用户输入单元74可以根据用户输入的命令生成键输入数据以控制终端设备的各种操作。感测单元75检测终端70的当前状态、终端70的位置、用户对于终端70的触摸输入的有无、终端70的取向、终端70的加速或减速移动和方向等等,并且生成用于控制终端70的操作的命令或信号。接口单元76用作至少一个外部装置与终端70连接可以通过的接口。输出单元78被构造为以视觉、音频和/或触觉方式提供输出信号。存储单元79可以存储由控制器77执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据。存储单元79可以包括至少一种类型的存储介质。而且,终端70可以与通过网络连接执行存储单元79的存储功能的网络存储装置协作。控制器77通常控制终端设备的总体操作。另外,控制器77可以包括用于再现或回放多媒体数据的多媒体模块。控制器77可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。电源单元71在控制器77的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。

本公开提出的图像特效处理方法的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,本公开提出的图像特效处理方法的各种实施方式可以通过使用特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,本公开提出的图像特效处理方法的各种实施方式可以在控制器77中实施。对于软件实施,本公开提出的图像特效处理方法的各种实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储单元79中并且由控制器77执行。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“a、b或c的至少一个”的列举意味着a或b或c,或ab或ac或bc,或abc(即a和b和c)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

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