运动物体视频特效添加方法、装置、终端设备及存储介质与流程

文档序号:17148671发布日期:2019-03-19 23:13阅读:269来源:国知局
运动物体视频特效添加方法、装置、终端设备及存储介质与流程

本公开实施例涉及数据技术,尤其涉及一种运动物体视频特效添加方法、装置、终端设备及存储介质。



背景技术:

随着通信技术和终端设备设备的发展,各种终端设备例如手机、平板电脑等已经成为了人们工作和生活中不可或缺的一部分,而且随着终端设备的日益普及,视频交互应用成为一种沟通和娱乐的主要渠道。

目前,视频交互应用能够识别出用户面部,并在用户头部上增加静态图像(例如在头发上增加头饰)或者增加面部表情覆盖在用户面部上。这种增加图像的方法过于局限,只能识别用户表情,导致应用场景过于单一。



技术实现要素:

本公开实施例提供一种运动物体视频特效添加方法、装置、终端设备及存储介质,可以运动物体的运动状态添加匹配的动态特效,提高视频交互应用的场景多样化。

第一方面,本公开实施例提供了一种运动物体视频特效添加方法,该方法包括:

获取视频中的至少一个图像帧,并在所述图像帧中识别至少一个运动物体;

如果确定在目标图像帧中识别出满足预设的运动变化条件的目标运动物体,则获取与所述运动变化条件,和/或目标运动物体匹配的视频特效;

将所述视频特效添加至所述视频中与所述目标图像帧关联的视频位置处。

进一步的,所述确定在目标图像帧中识别出满足预设的运动变化条件的目标运动物体,包括:

根据在当前图像帧中识别出的运动物体的位置信息,以及在位于所述当前图像帧之前的第一相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第一运动状态;

根据所述第一相邻图像帧集合中的首位图像帧中识别出的运动物体的位置信息,以及在位于所述首位图像帧之前的第二相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第二运动状态;

根据所述第一运动状态以及所述第二运动状态,计算每个运动物体的运动参数;

如果根据所述运动参数以及所述当前图像帧中每个运动物体的周围环境信息,确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体,则将所述当前图像帧作为所述目标图像帧。

进一步的,所述根据所述运动参数以及所述当前图像帧中每个运动物体的周围环境信息,确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体,包括:

如果检测到所述当前图像帧中包括运动参数满足预设的运动变化条件,且周围环境中存在满足预设的接触条件的遮挡物的运动物体,则确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体。

进一步的,所述运动参数包括运动方向改变角度和/或运动速度。

进一步的,所述获取视频中的至少一个图像帧,包括:

在视频录制过程中,实时获取所述视频中的至少一个图像帧;

所述将所述视频特效添加至所述视频中与所述目标图像帧关联的视频位置处,包括:

将所述目标图像帧的视频位置作为特效添加起点;

根据与所述运动变化条件,和/或目标运动物体匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

进一步的,所述运动物体视频特效添加方法,还包括:

在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;

在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效的同时,还包括:

在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

进一步的,所述视频特效包括:动态动画特效,和/或音乐特效;

所述在所述视频预览界面中,实时呈现添加所述视频特效的图像帧,包括:

在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。

第二方面,本公开实施例提供了一种运动物体视频特效添加装置,该装置包括:

运动物体识别模块,用于获取视频中的至少一个图像帧,并在所述图像帧中识别至少一个运动物体;

视频特效获取模块,用于如果确定在目标图像帧中识别出满足预设的运动变化条件的目标运动物体,则获取与所述运动变化条件,和/或目标运动物体匹配的视频特效;

视频特效添加模块,用于将所述视频特效添加至所述视频中与所述目标图像帧关联的视频位置处。

进一步的,所述视频特效获取模块,包括:

第一运动状态确定模块,用于根据在当前图像帧中识别出的运动物体的位置信息,以及在位于所述当前图像帧之前的第一相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第一运动状态;

第二运动状态确定模块,用于根据所述第一相邻图像帧集合中的首位图像帧中识别出的运动物体的位置信息,以及在位于所述首位图像帧之前的第二相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第二运动状态;

运动参数确定模块,用于根据所述第一运动状态以及所述第二运动状态,计算每个运动物体的运动参数;

目标图像帧确定模块,用于如果根据所述运动参数以及所述当前图像帧中每个运动物体的周围环境信息,确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体,则将所述当前图像帧作为所述目标图像帧。

进一步的,所述目标图像帧确定模块,包括:

目标运动物体确定模块,用于如果检测到所述当前图像帧中包括运动参数满足预设的运动变化条件,且周围环境中存在满足预设的接触条件的遮挡物的运动物体,则确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体。

进一步的,所述运动参数包括运动方向改变角度和/或运动速度。

进一步的,所述运动物体识别模块,包括:

图像帧实时获取模块,用于在视频录制过程中,实时获取所述视频中的至少一个图像帧;

所述视频特效添加模块,包括:

特效添加起点确定模块,用于将所述目标图像帧的视频位置作为特效添加起点;

视频特效实时添加模块,用于根据与所述运动变化条件,和/或目标运动物体匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

进一步的,所述运动物体视频特效添加装置,还包括:

图像帧实时呈现模块,用于在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;

视频特效实时呈现模块,用于在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

进一步的,所述视频特效包括:动态动画特效,和/或音乐特效;

所述视频特效实时呈现模块,包括:

特效展示和播放模块,用于在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。

第三方面,本公开实施例还提供了一种终端设备,该终端设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例所述的运动物体视频特效添加方法。

第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例所述的运动物体视频特效添加方法。

本公开实施例通过在视频中的图像帧中识别到的任意一个运动物体满足运动变化条件时,为该视频添加与与所述运动变化条件,和/或目标运动物体匹配的视频特效,解决了视频交互应用的视频特效过于单一的问题,可以实现针对运动物体的运动状体添加视频特效,提高视频交互的多样性,同时提高视频增加特效的灵活性。

附图说明

图1是本公开实施例一提供的一种运动物体视频特效添加方法的流程图;

图2是本公开实施例二提供的一种运动物体视频特效添加方法的流程图;

图3a是本公开实施例三提供的一种运动物体视频特效添加方法的流程图;

图3b是本公开实施例三提供的一种运动物体运动状态的示意图;

图3c是本公开实施例三提供的一种运动物体运动状态的示意图;

图3d是本公开实施例三提供的一种运动物体运动状态的示意图;

图4是本公开实施例四提供的一种运动物体视频特效添加装置的结构示意图;

图5是本公开实施例五提供的一种终端设备的结构示意图。

具体实施方式

下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。

实施例一

图1为本公开实施例一提供的一种运动物体视频特效添加方法的流程图,本实施例可适用于添加视频特效的情况,该方法可以由运动物体视频特效添加装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于终端设备中,例如典型的是计算机等。如图1所示,该方法具体包括如下步骤:

s110,获取视频中的至少一个图像帧,并在所述图像帧中识别至少一个运动物体。

一般来说,视频是由一系列静态的图像帧以极快的速度连续放映形成。由此,可以将视频拆分成一系列图像帧,并对图像帧进行编辑操作,从而实现对视频的编辑操作。

运动物体可以是指在视频中位置发生变化的物体,例如,可以是人体、动物和球类物体等中的至少一种。

s120,判断所述当前图像帧中是否存在满足预设的运动变化条件的目标运动物体,直至所述至少一个图像帧全部判断完成,如果是,执行s130;否则,执行s140。

其中,视频可以是一个录制完成的完整视频,也可以是正在实时录制的视频,视频中的当前图像帧可以是指从实时录制的视频中获取的最新的图像帧,可以是指录制完成的视频中任意选取的一个图像帧作为当前图像帧。

运动变化条件可以是指物体运动方向、运动速度和运动轨迹中的至少一种发生改变,同时改变的程度满足设定阈值的条件。

s130,将所述当前图像帧作为目标图像帧,并获取与所述运动变化条件,和/或目标运动物体匹配的视频特效,执行s150。

视频中会从当前图像帧开始增加与起始关节动作条件匹配的视频特效。视频特效用于在目标图像帧中添加根据用户动作匹配的特殊效果,以实现与用户交互,具体可以是指动画特效和/或音乐特效,添加动画特效用于目标图像帧在显示的过程中同时绘制静态和/或动态图像覆盖于目标图像帧原有内容上,添加音乐特效用于在目标图像帧中显示的过程中,同时播放音乐。可以预先设置视频特效库,同时,预先设置视频特效与运动变化条件,和/或目标运动物体的对应关系,根据运动变化条件,和/或目标运动物体,以及视频特效与运动变化条件,和/或目标运动物体的对应关系,从视频特效库查找到与运动变化条件,和/或目标运动物体匹配的视频特效。

在一个具体的例子中,运动变化条件为运动速度大于8m/s,和运动速度大于20m/s,仅与运动变化条件匹配的视频特效可以是:运动速度大于8m/s的音效响度小于运动速度大于20m/s的音效响度。仅与目标运动物体匹配的视频特效可以是,当目标运动物体为篮球时,与目标运动物体匹配的音效为篮球碰撞时发出的沉闷声音,当目标运动物体为乒乓球时,与目标运动物体匹配的音效为乒乓球碰撞时发出的清脆声音。与运动变化条件和目标运动物体匹配的视频特效可以是:目标运动物体为篮球,此时,满足运动速度大于8m/s的运动变化条件的篮球音效响度小于满足运动速度大于20m/s的运动变化条件的篮球音效响度。

s140,获取下一个图像帧,作为当前图像帧,返回执行s120。

s150,将所述视频特效添加至所述视频中与所述目标图像帧关联的视频位置处。

视频位置用于表示图像帧在视频中的位置,可以用图像帧在该视频拆分的一系列图像帧中的帧序号表示,例如视频可拆分成100帧,其中目标图像帧是第50帧。

确定目标图像帧的视频位置之后,在该视频位置处添加视频特效。实际上,视频特效可以以代码形式表示,在该视频位置处添加视频特效,也即在该目标图像帧对应的代码片段中添加视频特效对应的代码片段,从而实现在目标图像帧中添加视频特效。

本公开实施例通过在视频中的图像帧中识别到的任意一个运动物体满足运动变化条件时,为该视频添加与与所述运动变化条件,和/或目标运动物体匹配的视频特效,解决了视频交互应用的视频特效过于单一的问题,可以实现针对运动物体的运动状体添加视频特效,提高视频交互的多样性,同时提高视频增加特效的灵活性。

在上述实施例的基础上,可选的,所述获取视频中的至少一个图像帧,可以包括:在视频录制过程中,实时获取所述视频中的至少一个图像帧;所述将所述视频特效添加至所述视频中与所述目标图像帧关联的视频位置处,可以包括:将所述目标图像帧的视频位置作为特效添加起点;根据与所述运动变化条件,和/或目标运动物体匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

具体的,可以实时拍摄视频,并实时获取视频中的各个图像帧。其中,特效添加起点可以是指视频特效添加的起始位置和/或起始时刻。特效持续时间可以是指视频特效的起始位置到结束位置之间经历的时间或起始时刻到结束时刻之间的时间。与特效持续时间匹配的图像帧可以是指在视频中从特效添加起点开始,也就是从目标图像帧开始,一直到该视频特效结束时对应的结束图像帧之间的所有图像帧。例如,视频特效为音乐特效,若一个音乐特效的持续时间为3s,在该视频中,1s播放30个图像帧,按视频播放顺序,从目标图像帧开始的90个图像帧(包括目标图像帧)即为与特效持续时间匹配的图像帧。

由此通过实时拍摄视频,并实时获取视频拆分的一系列图像帧,从而实时判断拍摄的视频中当前图像帧是否存在满足运动变化条件的目标运动物体,实时添加与所述运动变化条件,和/或目标运动物体匹配的视频特效,可以实现在视频录制的同时添加视频特效,提高视频特效的添加效率。

可选的,所述运动物体视频特效添加方法还可以包括:在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效的同时,还包括:在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

其中,视频预览界面可以是指用于用户浏览视频的终端设备的界面,其中,终端设备可以包括服务器端或客户端。在实时拍摄视频的同时,将视频实时显示在视频预览界面中,由此,用户可以实时浏览到拍摄的视频的内容。

可选的,所述视频特效包括:动态动画特效,和/或音乐特效;相应的,所述在所述视频预览界面中,实时呈现添加所述视频特效的图像帧,可以包括:在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。

具体的,当视频特效包括动态动画特效时,在实时显示的图像帧中绘制动态动画特效,例如,绘制乐器、背景和人物等中至少一种图像。当视频特效包括音乐特效时,在图像帧实时显示的同时播放音乐特效。通过设置视频特效包括动态动画特效和/或音乐特效,提高视频特效的多样性。

实施例二

图2为本公开实施例二提供的一种运动物体视频特效添加方法的流程图。本实施例以上述实施例中各个可选方案为基础进行具体化。在本实施例中,将确定在目标图像帧中识别出的满足预设的运动变化条件的目标运动物体具体化为:根据在当前图像帧中识别出的运动物体的位置信息,以及在位于所述当前图像帧之前的第一相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第一运动状态;根据所述第一相邻图像帧集合中的首位图像帧中识别出的运动物体的位置信息,以及在位于所述首位图像帧之前的第二相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第二运动状态;根据所述第一运动状态以及所述第二运动状态,计算每个运动物体的运动参数;如果根据所述运动参数以及所述当前图像帧中每个运动物体的周围环境信息,确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体,则将所述当前图像帧作为所述目标图像帧。

相应的,本实施例的方法可以包括:

s210,获取视频中的至少一个图像帧,并在所述图像帧中识别至少一个运动物体。

本实施例中的视频、图像帧、运动物体、当前图像帧、运动变化条件、视频位置和视频特效等均可以参考上述实施例中的描述。

s220,根据在当前图像帧中识别出的运动物体的位置信息,以及在位于所述当前图像帧之前的第一相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第一运动状态。

其中,运动物体的位置信息可以是指运动物体在图像帧中的位置,位置可以用运动物体的坐标表示,甚至可以用运动物体的某个特征点的坐标表示,特征点用于代表运动物体的点,例如,球类物体的球心或人体的关节点、重心等。运动状态可以是运动方向和/或运动速度,更具体的,可以是指根据两个用于表示运动物体在两个不同图像帧中位置的坐标确定的向量,其中,该向量的可以表示该运动物体的运动方向,该向量的模可以表示该运动物体的运动速度。

第一相邻图像帧集合至少包括一个图像帧,同时,根据在视频中各图像帧关联的视频位置,第一相邻图像帧集合中最后一个图像帧关联的视频位置与当前图像帧关联的视频位置相邻,且该图像帧关联的视频位置在当前图像帧关联的视频位置的前面。若第一相邻图像帧集合仅包括一个图像帧,则该图像帧关联的视频位置与当前图像帧关联的视频位置相邻,且该图像帧关联的视频位置在当前图像帧关联的视频位置的前面。

s230,根据所述第一相邻图像帧集合中的首位图像帧中识别出的运动物体的位置信息,以及在位于所述首位图像帧之前的第二相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第二运动状态。

第二运动状态可以参考第一运动状态的描述。

第二相邻图像帧集合至少包括一个图像帧,同时,根据在视频中各图像帧关联的视频位置,第二相邻图像帧集合中最后一个图像帧关联的视频位置与第一相邻图像帧集合中的首位图像帧关联的视频位置相邻,且该图像帧关联的视频位置在首位图像帧关联的视频位置的前面。若第一相邻图像帧集合和第二相邻图像帧集合均仅包括一个图像帧,则第二相邻图像帧集合中图像帧关联的视频位置与第一相邻图像帧集合中图像帧关联的视频位置相邻,且第二相邻图像帧集合中图像帧关联的视频位置在第一相邻图像帧集合中图像帧关联的视频位置的前面。

s240,根据所述第一运动状态以及所述第二运动状态,计算每个运动物体的运动参数。

具体的,运动参数包括运动方向改变角度和/或运动速度。运动方向改变角度可以根据代表第一运动状态的向量以及代表第二运动状态的向量,计算两个向量之间的夹角作为运动方向改变角度,同时,计算两个向量的模的差值作为运动速度。

s250,根据所述运动参数以及所述当前图像帧中每个运动物体的周围环境信息,判断所述当前图像帧中是否存在满足预设的运动变化条件的目标运动物体,直至所述至少一个图像帧全部判断完成,如果是,执行s260;否则,执行s270。

周围环境信息可以是指运动物体周围的环境存在的其他物体的特征信息或与存在的其他物体的相对位置关系等。由于在录制视频的过程中,录制设备可以处于静止状态或者运动状态。当录制设备处于运动状态时,拍摄到实际静止的运动物体在图像帧中移动,实际上,运动物体并未移动。为了避免获取错误的位置信息,运动物体在图像帧中的位置信息为相对静止物体的位置信息。

具体的,可以通过判断两个不同图像帧中运动物体周围环境是否存在偏移,确定录制设备是否运动。并当两个不同图像帧中运动物体周围环境存在偏移时,通过计算周围环境的偏移量,并补偿到获取的运动物体的位置信息中,从而得到运动物体的位置信息。

一般来说,运动物体突然改变运动轨迹,是因为运动物体与其他物体发生碰撞,从而,可以通过判断运动物体是否与其他物体接触,确定运动物体为目标运动物体,可选的,所述根据所述运动参数以及所述当前图像帧中每个运动物体的周围环境信息,确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体,可以包括:如果检测到所述当前图像帧中包括运动参数满足预设的运动变化条件,且周围环境中存在满足预设的接触条件的遮挡物的运动物体,则确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体。

具体的,接触条件可以是指在第一相邻图像帧集合中至少一个图像帧中遮挡物与运动物体接触或碰撞,更具体的是,运动物体与遮挡物接触,且运动物体发生形变,例如球类物体的轮廓与遮挡物的轮廓部分重合,同时,球类物体的球心与遮挡物的距离小于该球类物体的半径,由此可以确定球类物体发生形变,从而可以该遮挡物为满足预设解除条件的遮挡物。满足预设的接触条件的遮挡物可以是指,与运动物体发生接触,并促使运动物体的运动状态发生改变的遮挡物。周围环境中存在满足预设的接触条件的遮挡物的运动物体可以是指周围存在与自身发生碰撞或接触关系的遮挡物的运动物体。当运动物体与遮挡物发生碰撞或接触时,运动物体通过其他外力作用使自身的运动方向和/或运动速度发生突变,可以在此时添加匹配的视频特效。

通过当运动物体的运动方向和/或运动速度发生改变,并满足运动变化条件,同时,运动物体的周围环境中存在遮挡物时,确定运动物体的运动方向和/或运动速度发生改变,提高预设的运动变化条件和运动物体的判断准确性,从而,提高视频添加特效的准确性。

s260,将所述当前图像帧作为目标图像帧,并获取与所述运动变化条件,和/或目标运动物体匹配的视频特效,执行s280。

s270,获取下一个图像帧,作为当前图像帧,返回执行s220。

s280,将所述视频特效添加至所述视频中与所述目标图像帧关联的视频位置处。

本公开实施例通过获取每个运动物体在当前图像帧、第一相邻图像帧集合中各图像帧、第二相邻图像帧集合中各图像帧中的位置信息,计算每个运动物体的第一运动状态和第二运动状态,并根据第一运动状态和第二运动状态计算每个运动物体的运动参数,结合每个运动物体的周围环境信息,确定目标运动物体,从而获取与所述运动变化条件,和/或目标运动物体匹配的视频特效,并添加到视频中,可以准确针对运动物体添加匹配的视频特效。

实施例三

图3a为本公开实施例三提供的一种运动物体视频特效添加方法的流程图。本实施例以上述实施例中各个可选方案为基础进行具体化。在本实施例中,将获取视频中的至少一个图像帧具体化为:在视频录制过程中,实时获取所述视频中的至少一个图像帧。同时,将所述在所述视频中与所述目标图像帧关联的视频位置处,添加与所述起始关节动作条件匹配的视频特效具体化为:将所述目标图像帧的视频位置作为特效添加起点,在所述视频中实时添加与所述起始关节动作条件匹配的视频特效。同时,在视频录制过程中,实时获取所述视频中的至少一个图像帧的同时,在视频预览界面中实时呈现所述视频中的图像帧。以及将所述目标图像帧的视频位置作为特效添加起点,在所述视频中实时添加与所述起始关节动作条件匹配的视频特效的同时,在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

相应的,本实施例的方法可以包括:

s310,在视频录制过程中,实时获取所述视频中的至少一个图像帧,在视频预览界面中实时呈现所述视频中的图像帧,并在所述图像帧中识别至少一个运动物体。

本实施例中的视频、图像帧、运动物体、当前图像帧、运动变化条件、视频位置和视频特效等均可以参考上述实施例中的描述。

s320,根据在当前图像帧中识别出的运动物体的位置信息,以及在位于所述当前图像帧之前的第一相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第一运动状态。

s330,根据所述第一相邻图像帧集合中的首位图像帧中识别出的运动物体的位置信息,以及在位于所述首位图像帧之前的第二相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第二运动状态。

s340,根据所述第一运动状态以及所述第二运动状态,计算每个运动物体的运动参数。

s350,根据所述运动参数以及所述当前图像帧中每个运动物体的周围环境信息,判断所述当前图像帧中是否存在满足预设的运动变化条件的目标运动物体,直至所述至少一个图像帧全部判断完成,如果是,执行s360;否则,执行s370。

在一个具体的例子中,如图3b-图3d所示,运动物体为球体,按照视频中播放顺序,依次顺序呈现图3b所示的展示图、图3c所示的展示图、图3d所示的展示图。若设定图3d所示的视频预览界面中展示图为当前图像帧,同时,第一相邻图像帧集合和第二相邻图像帧集合均仅包括一个图像帧,则图3c所示的视频预览界面中展示图为第一相邻图像帧集合中仅包括的图像帧,并作为第一图像帧;图3b所示的视频预览界面中展示图为第二相邻图像帧集合中仅包括的图像帧,并作为第二图像帧。运动物体由第二图像帧所示的位置移动到第一图像帧所示的位置,运动方向是朝向遮挡物,运动物体由第一图像帧所示的位置移动到当前图像帧所示的位置,运动方向是背离遮挡物。也即运动物体从第二图像帧所示的位置移动到当前图像帧所示的位置,运动物体的运动方向发生了改变,例如运动方向改变角度为170°,超过运动变化条件中的运动方向改变角度阈值(如90°),确定运动物体满足运动变化条件,此时可以添加与运动物体和运动变化条件匹配的视频特效。

s360,将所述当前图像帧作为目标图像帧,并获取与所述运动变化条件,和/或目标运动物体匹配的视频特效,执行s380。

s370,获取下一个图像帧,作为当前图像帧,返回执行s320。

s380,将所述目标图像帧的视频位置作为特效添加起点。

s390,根据与所述运动变化条件,和/或目标运动物体匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效,并在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

实施例四

图4为本公开实施例提供的一种运动物体视频特效添加装置的结构示意图,本实施例可适用于在视频中添加视频特效的情况。该装置可以采用软件和/或硬件的方式实现,该装置可以配置于终端设备中。如图4所示,该装置可以包括:运动物体识别模块410、视频特效获取模块420和视频特效添加模块430。

运动物体识别模块410,用于获取视频中的至少一个图像帧,并在所述图像帧中识别至少一个运动物体;

视频特效获取模块420,用于如果确定在目标图像帧中识别出的满足预设的运动变化条件的目标运动物体,则获取与所述运动变化条件,和/或目标运动物体匹配的视频特效;

视频特效添加模块430,用于将所述视频特效添加至所述视频中与所述目标图像帧关联的视频位置处。

本公开实施例通过在视频中的图像帧中识别到的任意一个运动物体满足运动变化条件时,为该视频添加与与所述运动变化条件,和/或目标运动物体匹配的视频特效,解决了视频交互应用的视频特效过于单一的问题,可以实现针对运动物体的运动状体添加视频特效,提高视频交互的多样性,同时提高视频增加特效的灵活性。

进一步的,所述视频特效获取模块420,包括:第一运动状态确定模块,用于根据在当前图像帧中识别出的运动物体的位置信息,以及在位于所述当前图像帧之前的第一相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第一运动状态;第二运动状态确定模块,用于根据所述第一相邻图像帧集合中的首位图像帧中识别出的运动物体的位置信息,以及在位于所述首位图像帧之前的第二相邻图像帧集合中识别出的所述运动物体的位置信息,计算每个运动物体的第二运动状态;运动参数确定模块,用于根据所述第一运动状态以及所述第二运动状态,计算每个运动物体的运动参数;目标图像帧确定模块,用于如果根据所述运动参数以及所述当前图像帧中每个运动物体的周围环境信息,确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体,则将所述当前图像帧作为所述目标图像帧。

进一步的,所述目标图像帧确定模块,包括:目标运动物体确定模块,用于如果检测到所述当前图像帧中包括运动参数满足预设的运动变化条件,且周围环境中存在满足预设的接触条件的遮挡物的运动物体,则确定在所述当前图像帧中识别出满足预设的运动变化条件的目标运动物体。

进一步的,所述运动参数包括运动方向改变角度和/或运动速度。

进一步的,所述运动物体识别模块,包括:图像帧实时获取模块,用于在视频录制过程中,实时获取所述视频中的至少一个图像帧;所述视频特效添加模块430,包括:特效添加起点确定模块,用于将所述目标图像帧的视频位置作为特效添加起点;视频特效实时添加模块,用于根据与所述运动变化条件,和/或目标运动物体匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。

进一步的,所述运动物体视频特效添加装置,还包括:图像帧实时呈现模块,用于在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;视频特效实时呈现模块,用于在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。

进一步的,所述视频特效包括:动态动画特效,和/或音乐特效;所述视频特效实时呈现模块,包括:特效展示和播放模块,用于在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。

本公开实施例提供的运动物体视频特效添加装置,与实施例一提供的运动物体视频特效添加方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见实施例一,并且本公开实施例与实施例一具有相同的有益效果。

实施例五

本公开实施例提供了一种终端设备,下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如客户端或服务器端)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)、便携式多媒体播放器(pmp)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。

实施例六

本公开实施例还提供了一种计算机可读存储介质,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(rf)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取视频中的至少一个图像帧,并在所述图像帧中识别至少一个运动物体;如果确定在目标图像帧中识别出的满足预设的运动变化条件的目标运动物体,则获取与所述运动变化条件,和/或目标运动物体匹配的视频特效;将所述视频特效添加至所述视频中与所述目标图像帧关联的视频位置处。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,运动物体识别模块还可以被描述为“获取视频中的至少一个图像帧,并在所述图像帧中识别至少一个运动物体的模块”。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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