我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Python实现无损GIF动图的制作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Python实现无损GIF动图的制作

今天小编给大家分享一下怎么用Python实现无损GIF动图的制作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

生成gif图

调用python库imageio可以轻松实现

读取静态图到列表中 ,作为 GIF 动图的每一帧

设置每一帧间隔时间duration,我设置为1.15秒

调用imageio库的函数imageio.mimsave即可

实现代码

import imageiodef create_gif(image_list, gif_name, duration=0.35):    frames = []    for image_name in image_list:        frames.append(imageio.imread(image_name))    imageio.mimsave(gif_name, frames, 'GIF', duration=duration)    returndef main():    image_list = ['car/10.jpg','car/15.jpg','car/8.jpg',]    gif_name = 'car/car.gif'    duration = 1.15    create_gif(image_list, gif_name, duration)if __name__ == '__main__':    main()

By the way

我原来制作GIF用的是软件ScreenToGif,它录制出来的动图真大,编辑有些卡顿,不用它了

无损压缩

前面的GIF动图是压缩后的,只有3M多,原大小接近50MB。

如果不压缩,小伙伴们需要浪费50M的流量下载。

资源是可贵的,先用收藏的网页压缩试下

压缩之后仍有20多M,质量有损失,且没有压缩比参数可选。

还是python好,有免费的模块,省去网上找这些要注册的资源

使用ImageIo 和PIL库,对gif动图进行压缩处理,先导入

import imageiofrom PIL import Image, ImageSequence

设置压缩尺寸,这里设置压缩尺寸为1000

rp = 1000

50M压缩之后大小降到4M,如果设置为500,压缩完不到1M

接下来的代码如下

img_list = []# 读取原gif动图img = Image.open("car/car.gif")# 对原动图进行压缩,并存入img_list for i in ImageSequence.Iterator(img):    i = i.convert('RGB')    if max(i.size[0], i.size[1]) > rp:        i.thumbnail((rp, rp))    img_list.append(i)# 计算帧的频率durt = (img.info)['duration'] / 1000# 读取img_list合成新的gifimageio.mimsave('car/car1.gif', img_list, duration=durt )

压缩完成后,就是3.51MB,这缩小的不是一点点,而且无损展示

以上就是“怎么用Python实现无损GIF动图的制作”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Python实现无损GIF动图的制作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Python实现无损GIF动图的制作

今天小编给大家分享一下怎么用Python实现无损GIF动图的制作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。生成gif图调
2023-07-06

利用Python实现无损GIF动图的制作

这篇文章主要为大家详细介绍了如何利用Python实现无损GIF动图的制作,文中的实现方法讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
2023-05-15

Python怎么实现gif动图倒放

今天小编给大家分享一下Python怎么实现gif动图倒放的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开发环境 :pycha
2023-06-30

python怎么实现多张图片的无损拼接

本篇内容主要讲解“python怎么实现多张图片的无损拼接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现多张图片的无损拼接”吧!目录导入 python 库查看需要拼接的图片横向
2023-06-20

Python利用pynimate实现制作动态排序图

这篇文章主要为大家详细介绍了Python如何利用pynimate实现制作动态排序图,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2023-02-01

python多线程怎么实现动态图绘制

今天小编给大家分享一下python多线程怎么实现动态图绘制的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、背景有些情况下,
2023-06-30

Android应用中怎么实现一个录制视频生成GIF图片功能

今天就跟大家聊聊有关Android应用中怎么实现一个录制视频生成GIF图片功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先打开AS,连接上手机,打开你要录制的程序或者视频打开A
2023-05-31

怎么用Python实现动态条形图

这篇文章主要介绍“怎么用Python实现动态条形图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Python实现动态条形图”文章能帮助大家解决问题。目前,官方的API文档只提供了一个条形图的源
2023-07-05

怎么用Python制作的九宫格图片

本篇内容介绍了“怎么用Python制作的九宫格图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!原理1、用Python制作的九宫格图像生成器
2023-06-30

Matlab怎么实现动态表白图的绘制

这篇文章主要介绍了Matlab怎么实现动态表白图的绘制的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Matlab怎么实现动态表白图的绘制文章都会有所收获,下面我们一起来看看吧。提前祝女朋友节日快乐1 展现这里没
2023-06-30

怎么使用Python+matplotlib实现循环作图

本篇内容主要讲解“怎么使用Python+matplotlib实现循环作图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python+matplotlib实现循环作图”吧!一、前言原始代码
2023-07-02

Python中怎么利用Altair实现数据制图

这篇文章给大家介绍Python中怎么利用Altair实现数据制图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。绘图流程我通过绘制同一个多柱状图比较了多个 Python 绘图库的差异。正式开始之前,你需要将你的 Pyth
2023-06-16

怎么用python制作一线城市地铁运行动态图

这篇文章主要介绍“怎么用python制作一线城市地铁运行动态图”,在日常操作中,相信很多人在怎么用python制作一线城市地铁运行动态图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python制作一线
2023-06-16

怎么用python制作炫酷的滚动地球

这篇文章主要讲解了“怎么用python制作炫酷的滚动地球”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用python制作炫酷的滚动地球”吧!方法比较简单,首先安装pyecharts==1
2023-06-16

怎么使用Vue+Echarts实现绘制动态折线图

今天小编给大家分享一下怎么使用Vue+Echarts实现绘制动态折线图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1 引入
2023-07-05

python怎么用plotly实现绘制局部放大图

这篇文章将为大家详细讲解有关python怎么用plotly实现绘制局部放大图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最终效果展示实现思路在绘图区域插入一个嵌入图,嵌入图与原图的绘画保持一致,通过限制
2023-06-29

怎么使用Python轻松实现绘制词云图

这篇文章主要介绍了怎么使用Python轻松实现绘制词云图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python轻松实现绘制词云图文章都会有所收获,下面我们一起来看看吧。一、一般词云绘制制作词云图首先
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录