一种动态图片处理方法、装置、设备及介质与流程

文档序号:33029635发布日期:2023-01-20 20:28阅读:34来源:国知局
一种动态图片处理方法、装置、设备及介质与流程

1.本技术涉及图片处理技术领域,特别涉及一种动态图片处理方法、装置、设备及介质。


背景技术:

2.目前,针对动态图片的处理方案往往只是将动态图片的第一帧进行处理,导致动态图片处理后变为静态图片,因为动态图片为了减少图片存储体积会对多帧图片相同像素进行压缩,导致动态图片进行拆帧后,除了首帧图片以外,其他帧图片信息均不完整,如果逐帧处理图片,会出现错误。


技术实现要素:

3.有鉴于此,本技术的目的在于提供一种动态图片处理方法、装置、设备及介质,能够保障每帧图片的信息完整性,从而避免逐帧处理时出现错误,保障处理后的图片保留原图的动画效果。其具体方案如下:
4.第一方面,本技术公开了一种动态图片处理方法,包括:
5.获取透明图片;
6.将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片;
7.对所述目标动态图片进行逐帧的预设处理。
8.可选的,所述对所述目标动态图片进行逐帧的预设处理,包括:
9.对所述目标动态图片进行逐帧的缩放处理。
10.可选的,所述待处理动态图片包括多个动态图片,所述对所述目标动态图片进行逐帧的预设处理,包括:
11.将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理。
12.可选的,所述将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理之前,还包括:
13.从多个所述目标动态图片中确定待缩放动态图片;所述待缩放动态图片为所述多个目标动态图片中的一个或多个动态图片;
14.将所述待缩放动态图片逐帧缩放为目标尺寸。
15.可选的,所述将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理,包括:
16.若多个所述目标动态图片的大小不一致,则从所述多个所述目标动态图片中确定出标准动态图片,基于所述标准动态图片中每帧图片的像素坐标确定非标准动态图片中该帧图片的对应帧图片的像素坐标,得到非标准动态图片中每帧图片的合成坐标;
17.基于所述合成坐标将非标准动态图片与标准动态图片进行逐帧的合成处理。
18.可选的,还包括:
19.若所述多个动态图片的帧数不一致,则对第一动态图片进行抽帧以得到帧数与第二动态图片一致的动态图片;
20.其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为所述多个动态图片中帧数最低的动态图片。
21.可选的,还包括:
22.若所述多个动态图片的播放延时不一致,则按照第二动态图片的播放延时对第一动态图片的播放延时进行修改;
23.其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为与所述多个动态图片中帧数最低的动态图片。
24.第二方面,本技术公开了一种动态图片处理装置,包括:
25.透明图片获取模块,用于获取透明图片;
26.透明图片合成模块,用于将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片;
27.图片预设处理模块,用于对所述目标动态图片进行逐帧的预设处理。
28.第三方面,本技术公开了一种电子设备,包括存储器和处理器,其中:
29.所述存储器,用于保存计算机程序;
30.所述处理器,用于执行所述计算机程序,以实现前述的动态图片处理方法。
31.第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的动态图片处理方法。
32.可见,本技术先获取透明图片,之后将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片,最后对所述目标动态图片进行逐帧的预设处理。也即,本技术在对动态图片进行逐帧的预设处理之前,先将非首帧图片分别与透明图片进行合成操作,这样,能够保障每帧图片的信息完整性,从而避免逐帧处理时出现错误,保障处理后的图片保留原图的动画效果。
附图说明
33.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为本技术公开的一种动态图片处理方法流程图;
35.图2为本技术公开的一种具体的动态图片缩放处理示意图;
36.图3为本技术公开的一种动态图片合成处理示意图;
37.图4为本技术公开的一种具体的两个目标动态图片的合成示意图;
38.图5为本技术公开的一种动态图片处理装置结构示意图;
39.图6为本技术公开的一种电子设备结构图。
具体实施方式
40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.目前,针对动态图片的处理方案往往只是将动态图片的第一帧进行处理,导致动态图片处理后变为静态图片,因为动态图片为了减少图片存储体积会对多帧图片相同像素进行压缩,导致动态图片进行拆帧后,除了首帧图片以外,其他帧图片信息均不完整,如果逐帧处理图片,会出现错误。为此,本技术提供了动态图片处理方案,能够保障每帧图片的信息完整性,从而避免逐帧处理时出现错误,保障处理后的图片保留原图的动画效果。
42.参见图1所示,本技术实施例公开了一种动态图片处理方法,包括:
43.步骤s11:获取透明图片;
44.其中,所述透明图片中的像素均为透明像素。透明图片的大小与待处理动态图片的图片大小一致。
45.步骤s12:将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片。
46.在一种实施方式中,待处理动态图片为一个动态图片,则将该动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片。
47.在另一种实施方式中,所述待处理动态图片包括多个动态图片,则将每个动态图片的非首帧图片分别与所述透明图片进行合成操作,得到每个动态图片对应的目标动态图片。也即得到多个目标动态图片,其中,多个大于等于两个。
48.并且,先将动态图片拆帧处理,然后非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片。
49.需要指出的是,动态图片为了减少图片存储体积会对多帧图片相同像素进行压缩,导致动态图片进行拆帧后,不能保证每一帧图片大小相同,为了让每一帧的图片大小相同以便后续进行图片处理,本技术采用预设尺寸的透明图片与非首帧图片进行合成操作,gif、apng等动态图片为了减少图片存储体积,多帧图片合成的会采用像素压缩算法,这个算法是动态图片本身实现的,透明像素只会填充到图片缺省的部分,使每一帧的图片尺寸保持一致。预设尺寸与待处理动态图片的尺寸相同。
50.步骤s13:对所述目标动态图片进行逐帧的预设处理。
51.在一种实施方式中,对所述目标动态图片进行逐帧的缩放处理。例如,参见图2所示,图2为本技术实施例公开的一种具体的动态图片缩放处理示意图,将尺寸为300*300、共30帧的动态图片先拆帧,从第2帧开始逐帧与尺寸为300*300的透明图片合成,之后逐帧缩小为100*100的图片,最后得到100*100、共30帧的动态图片。
52.在另一种实施方式中,可以所述待处理动态图片包括多个动态图片,则将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理。
53.例如,参见图3所示,图3为本技术实施例公开了一种动态图片合成处理示意图,将两个30帧的动态图片先分别与透明图片合成,透明图片的大小和原动态图片的大小一致,具体为每个动态图片的非首帧图片均与透明图片合成,之后两个动态图片再进行逐帧合成,得到合成的动态图片。
54.在一种实施方式中,可以从多个所述目标动态图片中确定待缩放动态图片;所述
待缩放动态图片为所述多个目标动态图片中的一个或多个动态图片;将所述待缩放动态图片逐帧缩放为目标尺寸。
55.比如,参见图4所示,图4为本技术实施例公开的一种具体的两个目标动态图片的合成示意图,两个目标动态图片,一个尺寸为200*200,一个为500*250,将500*250的图片处理为500*200的,以使两个目标动态图片拼接之后更美观。
56.并且,在一种实施方式中,若多个所述目标动态图片的大小不一致,则从所述多个所述目标动态图片中确定出标准动态图片,基于所述标准动态图片中每帧图片的像素坐标确定非标准动态图片中该帧图片的对应帧图片的像素坐标,得到非标准动态图片中每帧图片的合成坐标;基于所述合成坐标将非标准动态图片与标准动态图片进行逐帧的合成处理。例如,多个为两个,第一个目标动态图片中的第一帧图片最后一列像素分别为(x1,y1)、(x1,y2)、(x1,y3)

,第二个目标动态图片的第一列的合成坐标为(x1+n,y1)、(x1+n,y2)、(x1+n,y3)

,n为两像素点之间的横坐标间距。
57.进一步的,在一种实施方式中,若所述多个动态图片的帧数不一致,则对第一动态图片进行抽帧以得到帧数与第二动态图片一致的动态图片;其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为所述多个动态图片中帧数最低的动态图片。
58.也即,在将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作之间,可以将多个动态图片处理为帧数一致的动态图片。
59.并且,在一种实施方式中,若所述多个动态图片的播放延时不一致,则按照第二动态图片的播放延时对第一动态图片的播放延时进行修改;其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为与所述多个动态图片中帧数最低的动态图片。另外,在按照第二动态图片的播放延时对第一动态图片的播放延时进行修改之前,对第二动态图片进行抽帧操作,使第二动态图片的帧数与第一动态图片的帧数一致。
60.可以理解的是,播放延时即两帧图片之间的时间间隔,在进行合成前,需要将多个动态图片的播放延时处理为一致的,比如,两个动态图片中帧数较低动态图片的播放延时为0.2s,帧数较高的动态图片的播放延时是0.1s,则将帧数较高的动态图片先抽帧,之后将播放延时处理为0.2s。比如,一个动态图片的播放延时为0.2,共25帧,另一个动态图片的播放延时为0.1,共30帧,先将30帧的动态图片抽帧为25帧,之后将播放延时处理为0.2s。
61.可见,本技术实施例先获取透明图片,之后将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片,最后对所述目标动态图片进行逐帧的预设处理。也即,本技术实施例在对动态图片进行逐帧的预设处理之前,先将非首帧图片分别与透明图片进行合成操作,这样,能够保障每帧图片的信息完整性,从而避免逐帧处理时出现错误,保障处理后的图片保留原图的动画效果。
62.参见图5所示,本技术实施例公开了一种动态图片处理装置,包括:
63.透明图片获取模块11,用于获取透明图片;
64.透明图片合成模块12,用于将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片;
65.图片预设处理模块13,用于对所述目标动态图片进行逐帧的预设处理。
66.可见,本技术实施例先获取透明图片,之后将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片,最后对所述目标动态图片进行逐帧的预设处理。也即,本技术实施例在对动态图片进行逐帧的预设处理之前,先将非首帧图片分别与透明图片进行合成操作,这样,能够保障每帧图片的信息完整性,从而避免逐帧处理时出现错误,保障处理后的图片保留原图的动画效果。
67.在一种实施方式中,图片预设处理模块13,具体用于对所述目标动态图片进行逐帧的缩放处理。
68.在另一种实施方式中,所述待处理动态图片包括多个动态图片,所述图片预设处理模块13,具体用于将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理。
69.进一步的,所述装置还包括:待缩放动态图片处理模块,用于在图片预设处理模块13将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理之前,从多个所述目标动态图片中确定待缩放动态图片;所述待缩放动态图片为所述多个目标动态图片中的一个或多个动态图片;将所述待缩放动态图片逐帧缩放为目标尺寸。
70.并且,在一种实施方式中,所述图片预设处理模块13,用于若多个所述目标动态图片的大小不一致,则从所述多个所述目标动态图片中确定出标准动态图片,基于所述标准动态图片中每帧图片的像素坐标确定非标准动态图片中该帧图片的对应帧图片的像素坐标,得到非标准动态图片中每帧图片的合成坐标;基于所述合成坐标将非标准动态图片与标准动态图片进行逐帧的合成处理。
71.另外,所述装置还包括抽帧模块,用于若所述多个动态图片的帧数不一致,则对第一动态图片进行抽帧以得到帧数与第二动态图片一致的动态图片;
72.其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为所述多个动态图片中帧数最低的动态图片。
73.进一步的,所述装置还包括播放延时处理模块,用于若所述多个动态图片的播放延时不一致,则按照第二动态图片的播放延时对第一动态图片的播放延时进行修改;
74.其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为与所述多个动态图片中帧数最低的动态图片。
75.参见图6所示,本技术实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,以实现以下步骤:
76.获取透明图片;将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片;对所述目标动态图片进行逐帧的预设处理。
77.可见,本技术实施例先获取透明图片,之后将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片,最后对所述目标动态图片进行逐帧的预设处理。也即,本技术实施例在对动态图片进行逐帧的预设处理之前,先将非首帧图片分别与透明图片进行合成操作,这样,能够保障每帧图片的信息完整性,从而避免逐帧处理时出现错误,保障处理后的图片保留原图的动画效果。
78.本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:对所述目标动态图片进行逐帧的缩放处理。
79.本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具
体实现以下步骤:所述待处理动态图片包括多个动态图片,将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理。
80.本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:在将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理之前,从多个所述目标动态图片中确定待缩放动态图片;所述待缩放动态图片为所述多个目标动态图片中的一个或多个动态图片;将所述待缩放动态图片逐帧缩放为目标尺寸。
81.本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:若多个所述目标动态图片的大小不一致,则从所述多个所述目标动态图片中确定出标准动态图片,基于所述标准动态图片中每帧图片的像素坐标确定非标准动态图片中该帧图片的对应帧图片的像素坐标,得到非标准动态图片中每帧图片的合成坐标;基于所述合成坐标将非标准动态图片与标准动态图片进行逐帧的合成处理。
82.本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:若所述多个动态图片的帧数不一致,则对第一动态图片进行抽帧以得到帧数与第二动态图片一致的动态图片;其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为所述多个动态图片中帧数最低的动态图片。
83.本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:若所述多个动态图片的播放延时不一致,则按照第二动态图片的播放延时对第一动态图片的播放延时进行修改;其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为与所述多个动态图片中帧数最低的动态图片。
84.并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
85.另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
86.进一步的,本技术实施例公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现以下步骤:
87.获取透明图片;将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片;对所述目标动态图片进行逐帧的预设处理。
88.可见,本技术实施例先获取透明图片,之后将待处理动态图片的非首帧图片分别与所述透明图片进行合成操作,得到对应的目标动态图片,最后对所述目标动态图片进行逐帧的预设处理。也即,本技术实施例在对动态图片进行逐帧的预设处理之前,先将非首帧图片分别与透明图片进行合成操作,这样,能够保障每帧图片的信息完整性,从而避免逐帧处理时出现错误,保障处理后的图片保留原图的动画效果。
89.本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:对所述目标动态图片进行逐帧的缩放处理。
90.本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:所述待处理动态图片包括多个动态图片,将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理。
91.本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:在将多个动态图片对应的多个所述目标动态图片进行逐帧的合成处理之前,从多个所述目标动态图片中确定待缩放动态图片;所述待缩放动态图片为所述多个目标动态图片中的一个或多个动态图片;将所述待缩放动态图片逐帧缩放为目标尺寸。
92.本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:若多个所述目标动态图片的大小不一致,则从所述多个所述目标动态图片中确定出标准动态图片,基于所述标准动态图片中每帧图片的像素坐标确定非标准动态图片中该帧图片的对应帧图片的像素坐标,得到非标准动态图片中每帧图片的合成坐标;基于所述合成坐标将非标准动态图片与标准动态图片进行逐帧的合成处理。
93.本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:若所述多个动态图片的帧数不一致,则对第一动态图片进行抽帧以得到帧数与第二动态图片一致的动态图片;其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为所述多个动态图片中帧数最低的动态图片。
94.本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:若所述多个动态图片的播放延时不一致,则按照第二动态图片的播放延时对第一动态图片的播放延时进行修改;其中,所述第一动态图片为所述多个动态图片中非帧数最低的动态图片,所述第二动态图片为与所述多个动态图片中帧数最低的动态图片。
95.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
96.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
97.以上对本技术所提供的一种动态图片处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1