动态图像播放方法、装置、计算机设备和可读存储介质

文档序号:9428 发布日期:2021-09-17 浏览:44次 英文

动态图像播放方法、装置、计算机设备和可读存储介质

技术领域

本申请涉及人工智能

技术领域

,特别是涉及一种动态图像播放方法、装置、计算机设备和可读存储介质。

背景技术

随着科技的发展,移动端设备的性能、网络速度有了很大的提升。所以基于互联网开展业务的公司,对用户端应用的需求除了基本业务功能外,越来越重视用户体验,良好的用户体验能提高客户转化率,助力公司业务发展。用户体验的提升是多方面的,如良好的布局、漂亮的界面设计、快速的响应、流畅的交互动画等。动画效果的应用又是多方面的,比如轻微的过渡、炫酷的特效以及交互结合的流畅性等。其中炫酷的特效尤其能吸引人眼球,提升应用档次,从而提升用户对平台的信赖度。

传统方式中,实现动画的基本方式有层叠样式表(Cascading Style Sheets,CSS)动画、canvas动画、序列帧动画、图形交换格式(Graphics Interchange Format,gif)图动画等。但是,CSS动画满足不了复杂的特效,gif动画特效性能低,canvas动画随着特效的增加,开发难度也会成倍增加,序列帧动画在每一次切换播放的时候都会触发浏览器文档对象模型(Document Object Model,DOM)更新,可扩展性低。

从而,提供一种既满足特效需求,又能满足扩展性要去的动画展现当时先现阶段急需解决的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提升动态图像播放的扩展性的动态图像播放方法、装置、计算机设备和可读存储介质。

一种动态图像播放方法,应用于服务器,所述方法包括:

获取待播放动态图像的图像序列,图像序列包括至少两张单帧图像;

将图像序列中的单帧图像进行拼接,得到对应的拼接图像;

将拼接图像发送至终端,使得终端从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。

在其中一个实施例中,将图像序列中的单帧图像进行拼接,得到对应的拼接图像,包括:

获取待生成的拼接图像的图像行数以及图像序列中单帧图像的图像数量,图像行数为待生成的拼接图像中单帧图像的排列行数;

基于图像行数以及图像数量,确定待生成的拼接图像的图像列数;

根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像。

在其中一个实施例中,根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像,包括:

获取预先设置的待生成的拼接图像的行间距以及列间距;

根据行间距、列间距、图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,得到对应的拼接图像。

一种动态图像播放方法,应用于终端,所述方法包括:

接收服务器发送的拼接图像,拼接图像由图像序列中的至少两张单帧图像拼接生成;

初始化播放动态图像的画布;

从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放。

在其中一个实施例中,从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放,包括:

按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取各单帧图像;

获取画布的尺寸大小;

调整获取到的各单帧图像的图像大小至画布的尺寸大小,得到图像大小调整后的各单帧图像;

将图像大小调整后的各单帧图像绘制在画布中,进行动态图像播放。

在其中一个实施例中,从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放,包括:

初始化计数器,计数器的计数值与播放的动态图像的当前帧数相等;

从拼接图像中获取首帧图像,并绘制在画布中;

对计数器的计数值加一;

判断计数器的计数值是否等于预设阈值;

在计数器的计数值不等于预设阈值时,按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

在其中一个实施例中,按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放之前,还包括:

初始化定时器,并判断定时器的定时时长是否达到预设时长;

当定时时长达到预设时长时,则按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

一种动态图像播放装置,应用于服务器,所述装置包括:

图像序列获取模块,用于获取待播放动态图像的图像序列,图像序列包括至少两张单帧图像;

拼接模块,用于将图像序列中的单帧图像进行拼接,得到对应的拼接图像;

发送模块,用于将拼接图像发送至终端,使得终端从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法的步骤。

上述动态图像播放方法、装置、计算机设备和可读存储介质,通过获取待播放动态图像的图像序列,图像序列包括至少两张单帧图像,然后将图像序列中的单帧图像进行拼接,得到对应的拼接图像,进一步将拼接图像发送至终端,使得终端从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。从而,可以根据实际特效要求,将单帧图像并合成拼接图像,在终端进行播放的时候,可以从获取到的拼接图像中截取单帧图像并进行播放,满足了动画播放的特效要求。并且,通过从拼接图像中裁减单帧图像并进行播放,对于终端而言,其仅将裁减到的单帧图像绘制到画布中即可进行动态图像的播放,其不会触发浏览器DOM数的更新,提升了动态图像播放的扩展性。

附图说明

图1为一个实施例中动态图像播放方法的应用场景图;

图2为一个实施例中动态图像播放方法的流程示意图;

图3为一个实施例中单帧图像的示意图;

图4为一个实施例中拼接图像的示意图;

图5为一个实施例中图像绘制至画布中步骤的示意图;

图6为另一个实施例中动态图像播放方法的流程示意图;

图7为一个实施例中动态图像播放步骤的流程示意图;

图8为一个实施例中动态图像播放装置的结构框图;

图9为另一个实施例中动态图像播放装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的动态图像播放方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104可以获取待播放动态图像的图像序列,图像序列可以包括至少两张单帧图像,然后服务器104可以将图像序列中的单帧图像进行拼接,得到对应的拼接图像,进一步,服务器104可以将拼接图像发送至终端102,使得终端102从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种动态图像播放方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤S202,获取待播放动态图像的图像序列,图像序列包括至少两张单帧图像。

其中,动态图像播放的时候,是通过切换多帧图像进行的,通过控制切换的时间或者是频率,人眼看到的图像就是连续动态的。

在本实施例中,图像序列即是组成动态图像的序列,图像序列中可以包括至少两张单帧图像,各单帧图像分别表示一个图像状态。

在本实施例中,服务器可以基于具体业务的特效要求,绘制动态图像的图像序列,根据具体特效的不同,图像序列中单帧图像的数量以及各单帧图像的图像效果可以并不相同。

步骤S204,将图像序列中的单帧图像进行拼接,得到对应的拼接图像。

其中,拼接图像将多张图像拼合成的图像。

在本实施例中,服务器在获取到图像序列之后,可以确定获取到的图像序列中图像数量,并基于图像数据,对单帧图像进行拼接,以得到对应的拼接图像。

具体地,图像序列中的各单帧图像可以是如下图3中(a)或(b)所示,拼接图像可以是如图4所示。

本领域技术人员可以理解的是,在进行拼接的时候,仅是将多帧图像拼合成一张大的图像,对拼接图像的各单帧图像的图像像素并未做改变。

步骤S206,将拼接图像发送至终端,使得终端从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。

在本实施例中,服务器在获取到拼接图像之后,可以将拼接图像发送至终端,使得终端进行后续的处理。

在本实施例中,服务器将拼接图像发送至终端可以是服务器在接收到终端的请求后发送的,例如,终端启动应用触发播放动态图像时,则可以从服务器获取拼接图像,并进行后续的处理。或者,也可以是终端在启动应用时,即获取拼接图像,并在后续需要进行动态图像播放时,直接基于动态拼接图像并进行后续的处理。

在本实施例中,终端在获取到拼接图像后,可以从拼接图像中裁减出各单帧图像,并按照时间顺序绘制待到画布中,进行动态图像的播放。

具体地,服务器按照时间序列,从拼接图像中裁减各单帧图像,然后绘制到画布中,并进行动态图像的播放。动态图像的具体播放过程可以结合播放频率、画布的尺寸大小等进行渲染绘制。

例如,参考图5,创建画布后,可通过方法“var ctx=canvas.getContext('2d')”获取画笔对象,然后通过“ctx.drawImage(image,sx,sy,sWidth,sHeight,dx,dy,dWidth,dHeight)”裁剪拼接图像中的各单帧图像并绘制在画布中。其中,参数“image”表示拼接图像,参数“sx,sy,sWidth,sHeight”表示定义的源图像的切片位置和大小,即在拼接图像中裁减图像的位置以及大小。参数“dx,dy,dWidth,dHeight”表示裁减得到的单帧图像在目标显示位置和大小,即显示到画布中的位置以及大小。

上述动态图像播放方法中,通过获取待播放动态图像的图像序列,图像序列包括至少两张单帧图像,然后将图像序列中的单帧图像进行拼接,得到对应的拼接图像,进一步将拼接图像发送至终端,使得终端从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。从而,可以根据实际特效要求,将单帧图像并合成拼接图像,在终端进行播放的时候,可以从获取到的拼接图像中截取单帧图像并进行播放,满足了动画播放的特效要求。并且,通过从拼接图像中裁减单帧图像并进行播放,对于终端而言,其仅将裁减到的单帧图像绘制到画布中即可进行动态图像的播放,其不会触发浏览器DOM数的更新,提升了动态图像播放的扩展性。

在其中一个实施例中,将图像序列中的单帧图像进行拼接,得到对应的拼接图像,可以包括:获取待生成的拼接图像的图像行数以及图像序列中单帧图像的图像数量,图像行数为待生成的拼接图像中单帧图像的排列行数;基于图像行数以及图像数量,确定待生成的拼接图像的图像列数;根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像。

其中,图像行数是指待生成的拼接图像中单帧图像的排列行数,参见图4所示,具体可以是预先设置的数值。

在本实施例中,服务器在获取到图像序列之后,可以获取图像序列中单帧图像的数量以及获取预先设置的待生成的拼接图像的图像行数。

在本实施例中,服务器可以根据获取到的数量以及图像行数,确定待生成的拼接图像的列数,例如可以通过相除的方式,确定图像列数。

进一步,服务器可以根据图像行数以及图像列数,从图像序列中获取单帧图像并进行拼接,以得到拼接图像。

在本实施例中,服务器在进行拼接的时候,可以是按照图像序列中图像采集的单帧图像的采集时间序列,从左往右,从上至下,依次进行拼接,以得到对应的拼接图像。

在其中一个实施例中,服务器在获取到图像序列之后,可以对图像序列中单帧图像的数量进行判定,判断是否大于预设数量值。

在本实施例中,当服务器确定单帧图像的数量大于预设数量值时,根据图像行数以及图像列数进行图像的拼接,得到拼接图像。当单帧图像的数量小于或等于预设数量值时,可以基于获取到的图像序列,生成帧图像列表,并发送至终端,使得终端基于帧图像列表进行动态图像播放。

在其中一个实施例中,拼接图像的图像行数以及图像列数也可以基于图像序列中单帧图像的数量确定,例如,设置图像行数与图像列数相等或者相差最小等,使得生成的拼接图像长宽尺寸不会相差太大。

上述实施例中,通过根据图像行数以及图像列数,按照采集时间序列,对单帧图像进行拼接,得到拼接图像,可以保证图像拼接的准确性以及完整性,避免出现错误的可能性,提升后续动态图像播放的准确性。

在其中一个实施例中,根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像,可以包括:获取预先设置的待生成的拼接图像的行间距以及列间距;根据行间距、列间距、图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,得到对应的拼接图像。

在本实施例中,服务器在进行图像拼接的时候,可以获取预先设置的待生成的拼接图像的行与行之间的行间距,以及列与列之间的列间距,然后进行后续的拼接处理。

具体地,服务器可以根据行间距以及列间距,按照图像序列中单帧图像的采集时间顺序进行拼接,得到对应的拼接图像。

上述实施例中,通过设置行间距以及列间距,并进行拼接,使得后续在从单帧图像中进行裁减的时候,可以基于行间距以及列间距进行裁减,避免裁减出错的可能性。

在一个实施例中,如图6所示,提供了一种动态图像播放方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤S602,接收服务器发送的拼接图像,拼接图像由图像序列中的至少两张单帧图像拼接生成。

其中,拼接图像如前文所述,此处不再赘述。

在本实施例中,终端可以在触发进行动态图像播放的时候,获取拼接图像,并进行后续的处理操作。

步骤S604,初始化播放动态图像的画布。

具体地,终端可以构初始化动态图像的画布,例如,终端可以初始化一个canvas画布,然后从拼接图像中裁减各单帧图像,并进行动态图像播放。

步骤S606,从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放。

在本实施例中,终端可以依次将裁减得到的单帧图像绘制在初始化后的画布中,通过不断切换绘制至画布中的单帧图像,以实现动态图像播放。例如,参照图7,服务器在进行图像拼接的时候,是按照时间顺序1~n,从左至右、从上至下的顺序进行的拼接,则在进行裁减的时候,也可以按照拼接图像中从左至右、从上至下的顺序,依次裁减出各单帧图像,并按照时间顺序依次绘制到画布中,进行动态图像的播放。

在其中一个实施例中,从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放,可以包括:按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取各单帧图像;获取画布的尺寸大小;调整获取到的各单帧图像的图像大小至画布的尺寸大小,得到图像大小调整后的各单帧图像;将图像大小调整后的各单帧图像绘制在画布中,进行动态图像播放。

如前所述,拼接图像是按照单帧图像的采集时间序列进行拼接的。

在本实施例中,终端在进行动态图像播放的时候,可以按照采集时间序列,从拼接图像中裁减并获取各单帧图像,然后进行动态图像播放。

在本实施例中,终端可以先获取初始化后的画布的尺寸大小,然后判断获取到的单帧图像的图像尺寸与画布的尺寸大小是否一致。

在本实施例中,当单帧图像的图像尺寸与画布的尺寸大小一致时,则将裁减得到的单帧图像直接绘制在画布中,进行动态图像播放,当单帧图像的图像尺寸与画布的尺寸大小不一致时,终端可以根据画布的尺寸大小,对单帧图像的图像大小进行调整,使得调整后的单帧图像的图像大小与画布的尺寸大小一致。

进一步,终端可以将图像大小调整后的单帧图像绘制到画布中,以进行动态图像播放。

在其中一个实施例中,从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放,可以包括:初始化计数器,计数器的计数值与播放的动态图像的当前帧数相等;从拼接图像中获取首帧图像,并绘制在画布中;对计数器的计数值加一;判断计数器的计数值是否等于预设阈值;在计数器的计数值不等于预设阈值时,按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

在本实施例中,终端可以初始化一计数器,然后设置计数值为0。

进一步,终端可以从拼接图像中获取第一帧图像,即首帧图像,然后绘制在画布中。

在本实施例中,终端可以设置计数器的计数值加一,计数器的计数值与播放的动态图像的当前帧数相等。

进一步,终端可以判断计数器的计数值是否等于预设阈值。其中,预设阈值与组成拼接图像的单帧图像的数量相等。

在本实施例中,当终端确定计数值小于预设阈值时,则终端可以按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

在本实施例中,当终端确定计数值等于预设阈值时,则终端可以确定拼接图像中的单帧图像已经播放完成,则终端可以再次初始化计数器,并从第一帧图像重新开始播放。

上述实施例中,通过设置计数器对播放图像的数量进行计数,可以准确的对已播放的单帧图像的数量进行跟踪,避免播放出错的概率,提升动态图像播放的准确性。

在其中一个实施例中,按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放之前,还可以包括:初始化定时器,并判断定时器的定时时长是否达到预设时长;当定时时长达到预设时长时,则按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

在本实施例中,终端还可以初始化一定时器,以对帧与帧单帧图像的停留时长进行定时。

具体地,终端可以设置定时器的预设时长,该预设时长可以根据动调图像的播放效果确定。

在本实施例中,在终端裁剪出单帧图像,并绘制至画布中之后,定时器开始计时,并在定时时长达到预设时长时,将下一帧单帧图像绘制至画布中,从而进行动态图像播放。

在本实施例中,定时器在定时时长达到预设时长后,定时器可以自动清零,并重新开始定时,循环往复。

上述实施例中,通过设置定时器,并对单帧图像的播放时长进行定时,可以保障单帧图像与单帧图像之间的播放时长维持在同一时长内,提升动态图像播放的播放效果,进而可以提升用户体验。

在其中一个实施例中,上述方法还可以包括:将图像序列以及拼接图像中的至少一个上传至区块链节点中进行存储。

其中,区块链是指分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Block chain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

具体地,区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

在本实施例中,服务器可以将图像序列以及拼接图像中的一个或者多个数据上传并存储于区块链的节点中,以保证数据的私密性和安全性。

上述实施例中,通过将图像序列以及拼接图像中至少一个上传至区块链并存储于区块链的节点中,从而可以保障存储至区块链节点中数据的私密性,可以提升数据的安全性。

应该理解的是,虽然图2和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种动态图像播放装置,应用于服务器,可以包括:图像序列获取模块802、拼接模块804以及发送模块806,其中:

图像序列获取模块802,用于获取待播放动态图像的图像序列,图像序列包括至少两张单帧图像。

拼接模块804,用于将图像序列中的单帧图像进行拼接,得到对应的拼接图像。

发送模块806,用于将拼接图像发送至终端,使得终端从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。

在其中一个实施例中,拼接模块804,可以包括:

获取子模块,用于获取待生成的拼接图像的图像行数以及图像序列中单帧图像的图像数量,图像行数为待生成的拼接图像中单帧图像的排列行数。

图像行数确定子模块,用于基于图像行数以及图像数量,确定待生成的拼接图像的图像列数。

拼接图像生成子模块,用于根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像。

在其中一个实施例中,拼接图像生成子模块,可以包括:

获取单元,用于获取预先设置的待生成的拼接图像的行间距以及列间距。

拼接单元,用于根据行间距、列间距、图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,得到对应的拼接图像。

在一个实施例中,如图9所示,提供了另一种动态图像播放装置,应用于终端,可以包括:接收模块902、初始化模块904以及裁减播放模块906,其中:

接收模块902,用于接收服务器发送的拼接图像,拼接图像由图像序列中的至少两张单帧图像拼接生成。

初始化模块904,用于初始化播放动态图像的画布。

裁减播放模块906,用于从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放。

在其中一个实施例中,裁减播放模块906,可以包括:

单帧图像获取子模块,用于按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取各单帧图像。

画布尺寸大小获取子模块,用于获取画布的尺寸大小。

调整子模块,用于调整获取到的各单帧图像的图像大小至画布的尺寸大小,得到图像大小调整后的各单帧图像;

播放子模块,用于将图像大小调整后的各单帧图像绘制在画布中,进行动态图像播放。

在其中一个实施例中,裁减播放模块906,可以包括:

初始化子模块,用于初始化计数器,计数器的计数值与播放的动态图像的当前帧数相等。

绘制子模块,用于从拼接图像中获取首帧图像,并绘制在画布中。

计数子模块,用于对计数器的计数值加一。

判断子模块,用于判断计数器的计数值是否等于预设阈值。

循环子模块,用于在计数器的计数值不等于预设阈值时,按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

在其中一个实施例中,上述装置还可以包括:

定时器模块,用于按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放之前,初始化定时器,并判断定时器的定时时长是否达到预设时长;

循环子模块,用于当定时时长达到预设时长时,则按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

关于动态图像播放装置的具体限定可以参见上文中对于动态图像播放方法的限定,在此不再赘述。上述动态图像播放装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像序列以及拼接图像等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种动态图像播放方法。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待播放动态图像的图像序列,图像序列包括至少两张单帧图像;将图像序列中的单帧图像进行拼接,得到对应的拼接图像;将拼接图像发送至终端,使得终端从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。

在其中一个实施例中,处理器执行计算机程序时实现将图像序列中的单帧图像进行拼接,得到对应的拼接图像,可以包括:获取待生成的拼接图像的图像行数以及图像序列中单帧图像的图像数量,图像行数为待生成的拼接图像中单帧图像的排列行数;基于图像行数以及图像数量,确定待生成的拼接图像的图像列数;根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像。

在其中一个实施例中,处理器执行计算机程序时实现根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像,可以包括:获取预先设置的待生成的拼接图像的行间距以及列间距;根据行间距、列间距、图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,得到对应的拼接图像。

在一个实施例中,提供了另一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收服务器发送的拼接图像,拼接图像由图像序列中的至少两张单帧图像拼接生成;初始化播放动态图像的画布;从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放。

在其中一个实施例中,处理器执行计算机程序时实现从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放,可以包括:按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取各单帧图像;获取画布的尺寸大小;调整获取到的各单帧图像的图像大小至画布的尺寸大小,得到图像大小调整后的各单帧图像;将图像大小调整后的各单帧图像绘制在画布中,进行动态图像播放。

在其中一个实施例中,处理器执行计算机程序时实现从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放,可以包括:初始化计数器,计数器的计数值与播放的动态图像的当前帧数相等;从拼接图像中获取首帧图像,并绘制在画布中;对计数器的计数值加一;判断计数器的计数值是否等于预设阈值;在计数器的计数值不等于预设阈值时,按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

在其中一个实施例中,处理器执行计算机程序时实现按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放之前,还可以实现以下是步骤:初始化定时器,并判断定时器的定时时长是否达到预设时长;当定时时长达到预设时长时,则按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待播放动态图像的图像序列,图像序列包括至少两张单帧图像;将图像序列中的单帧图像进行拼接,得到对应的拼接图像;将拼接图像发送至终端,使得终端从接受到的拼接图像中裁减出各单帧图像,并按照时间序列绘制在画布中,进行动态图像播放。

在其中一个实施例中,计算机程序被处理器执行时实现将图像序列中的单帧图像进行拼接,得到对应的拼接图像,可以包括:获取待生成的拼接图像的图像行数以及图像序列中单帧图像的图像数量,图像行数为待生成的拼接图像中单帧图像的排列行数;基于图像行数以及图像数量,确定待生成的拼接图像的图像列数;根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像。

在其中一个实施例中,计算机程序被处理器执行时实现根据图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,生成对应的拼接图像,可以包括:获取预先设置的待生成的拼接图像的行间距以及列间距;根据行间距、列间距、图像行数以及图像列数,按照图像序列中单帧图像的采集时间序列,对至少两张单帧图像进行拼接,得到对应的拼接图像。

在一个实施例中,提供了另一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收服务器发送的拼接图像,拼接图像由图像序列中的至少两张单帧图像拼接生成;初始化播放动态图像的画布;从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放。

在其中一个实施例中,计算机程序被处理器执行时实现从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放,可以包括:按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取各单帧图像;获取画布的尺寸大小;调整获取到的各单帧图像的图像大小至画布的尺寸大小,得到图像大小调整后的各单帧图像;将图像大小调整后的各单帧图像绘制在画布中,进行动态图像播放。

在其中一个实施例中,计算机程序被处理器执行时实现从拼接图像中依次裁减出各单帧图像,并按照时间顺序绘制在画布中,进行动态图像播放,可以包括:初始化计数器,计数器的计数值与播放的动态图像的当前帧数相等;从拼接图像中获取首帧图像,并绘制在画布中;对计数器的计数值加一;判断计数器的计数值是否等于预设阈值;在计数器的计数值不等于预设阈值时,按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

在其中一个实施例中,计算机程序被处理器执行时实现按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放之前,还可以实现以下是步骤:初始化定时器,并判断定时器的定时时长是否达到预设时长;当定时时长达到预设时长时,则按照拼接图像中各单帧图像的采集时间序列,从拼接图像中获取下一帧单帧图像,并继续绘制在画布中,进行动态图像播放。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:动画播放方法、装置、电子设备及计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!