iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >利用Python实现无损GIF动图的制作
  • 890
分享到

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

Python 官方文档:入门教程 => 点击学习

摘要

目录生成gif图无损压缩先讲一讲整理的目标 1.挑选喜欢的照片用python制作GIF图 2.动图太大了,对它无损压缩 生成gif图 调用Python库imageio可以轻松实现 读

先讲一讲整理的目标

1.挑选喜欢的照片用python制作GIF图

2.动图太大了,对它无损压缩

生成gif图

调用Python库imageio可以轻松实现

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

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

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

实现代码

import imageio

def 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)
    return

def 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 imageio
from 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合成新的gif
imageio.mimsave('car/car1.gif', img_list, duration=durt )

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

到此这篇关于利用Python实现无损GIF动图的制作的文章就介绍到这了,更多相关Python制作无损GIF内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 利用Python实现无损GIF动图的制作

本文链接: https://www.lsjlt.com/news/208907.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 利用Python实现无损GIF动图的制作
    目录生成gif图无损压缩先讲一讲整理的目标 1.挑选喜欢的照片用python制作GIF图 2.动图太大了,对它无损压缩 生成gif图 调用python库imageio可以轻松实现 读...
    99+
    2023-05-15
    Python制作无损GIF动图 Python制作无损GIF Python 无损GIF Python GIF
  • 怎么用Python实现无损GIF动图的制作
    今天小编给大家分享一下怎么用Python实现无损GIF动图的制作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。生成gif图调...
    99+
    2023-07-06
  • 利用Python轻松实现视频转GIF动图
    目录前言1. 准备工作2. 初探3. 截取区域转动图4. 固定区域转动图5. 添加自定义文本前言 不知道大家是不是有过类似的经历,在看视频的时候觉得某段非常有意思想弄成动图,但是无从...
    99+
    2024-04-02
  • Python利用pynimate实现制作动态排序图
    数据可视化动画还在用 Excel 做?今天分享一个简单的 Python 包就能分分钟搞定! 而且生成的动画也足够丝滑,效果是酱紫的: 这是一位专攻 Python 语言的程序员开发的...
    99+
    2023-02-01
    Python制作动态排序图 Python动态排序图 Python动态排序
  • Python利用matplotlib实现制作动态条形图
    目录制作思路animation大家好,本文将分享如何使用matplotlib制作动态条形图,制作的图很美,这个是我在之前发布的一篇中使用的图片, 效果如下 制作思路 为了方便大家学...
    99+
    2024-04-02
  • 短短几行Python代码制作的GIF动图
    前言想知道怎么用Python代码与动画结合起来,制作GIF动图,并展示给其他人看呢?gifmaze可以帮助你很好的制作GIF动图,效果超棒, 比inter,pyglet和pyqt同比之下,还要好一点,它们两个不能直接发布在网上。gifmaz...
    99+
    2023-06-02
  • Python怎么实现gif动图倒放
    今天小编给大家分享一下Python怎么实现gif动图倒放的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开发环境 :pycha...
    99+
    2023-06-30
  • 使用matplotlib创建Gif动图的实现
    目录1、Matplotlib 简介2、绘制动画正弦和余弦波3、绘制曲面图 4、绘制回归图1、Matplotlib 简介 数据可视化有助于更有效地讲述有关数据的故事并使其易于...
    99+
    2024-04-02
  • Python简单实现gif动图倒放示例
    最近是有点忙,感觉好久没写博客了。但是最近看到一个有趣的就是gif动图的倒放,因为这个原理也并不是很难,而且用到的库以前也略微的看过一点点,所以要新学的东西不是很多。 开发环境 :p...
    99+
    2024-04-02
  • 如何利用Matplotlib库绘制动画及保存GIF图片
    前言 在自学机器学习或者是深度学习的过程中,有的时候总想把执行过程或者执行结果显示出来,所以就想到了动画。好在用 Python 实现动画有许多中方式,而大家熟知的 Matplotli...
    99+
    2024-04-02
  • 基于Python实现傻瓜式GIF制作工具
    目录导语​​一、简单的GIF制作1)准备中2)小简介3)代码演示二、升级imageio的GIF制作1)准备中2)小简介3)代码演示三、总效果展示导语​ ​嘿!大家好,我是木木子!今...
    99+
    2024-04-02
  • Python实现无损放大图片的示例代码
    今天做一个超简单的无损放大图片的程序,原理很简单 JPG原理:读取原图片的像素点的RGB颜色值并保存到文件内,然后将原图进行翻倍放大,在放大的图上进行绘制,绘制一个像素的翻倍大小,一...
    99+
    2024-04-02
  • 利用Python实现热力图的绘制
    目录1. 引言2. 读取图像3. 图像灰度化4. 像素化效果5. 为热力图选择调色板1. 引言 热力图,是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。例如,...
    99+
    2024-04-02
  • 利用python制作词云图
    目录 前言 一、使用步骤 1.下载所需库 2.引入库 3.打开文本 4.分词 5.生成词云图 6.保存文件 总结 前言         词云图是一种为了文本数据的视觉表示,由词汇组成类似云的彩色图形,当需要统计文本中出现词汇的规模大小时,...
    99+
    2023-09-08
    python matplotlib
  • python怎么实现多张图片的无损拼接
    本篇内容主要讲解“python怎么实现多张图片的无损拼接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现多张图片的无损拼接”吧!目录导入 python 库查看需要拼接的图片横向...
    99+
    2023-06-20
  • 教你怎么用Python实现GIF动图的提取及合成
    Python实现GIF动图的提取及合成 在开始之前,先来一个动图开头(预览) 图片转GIF动图 1、准备工作 在开始合并前,先明确要转换哪些图片,以及安装对应的Python库 这...
    99+
    2024-04-02
  • Python利用matplotlib实现饼图绘制
    目录前言1. 等高线图概述什么是饼图?饼图常用场景绘制等饼图步骤案例展示2. 饼图属性设置饼图的颜色设置标签设置突出部分设置填入百分比数值饼图旋转设置阴影3. 调整饼图的大小4. 添...
    99+
    2024-04-02
  • Python使用matplotlib创建Gif动图的思路
    目录1、Matplotlib 简介2、绘制动画正弦和余弦波3、绘制曲面图4、绘制回归图1、Matplotlib 简介 数据可视化有助于更有效地讲述有关数据的故事并使其易于呈现。有时很...
    99+
    2024-04-02
  • Python实现GIF动图加载和降帧的方法详解
    目录一、准备一份透明背景的GIF动画素材二、使用pillow库对GIF动图进行解帧三、使用pygame.image.load()读取所有解出来的帧并存入列表四、在精灵类的updat&...
    99+
    2023-02-15
    Python动图加载 Python动图降帧 Python动图
  • Python实现GIF动图以及视频卡通化详解
    目录前言环境依赖核心代码gif动图卡通化视频卡通化总结前言 参考文章:Python实现照片卡通化 我继续魔改一下,让该模型可以支持将gif动图或者视频,也做成卡通化效果。毕竟一张图可...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作