如何使用Python快速生成gif图

 更新时间:2022年02月24日 09:50:14   作者:修炼之路  
这篇文章主要给大家介绍了关于如何使用Python快速生成gif图的相关资料,我们需要用到 imageio 库,文章通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

gif图就是动态图,它的原理和视频有点类似,也是通过很多静态图片合成的.本篇文章主要介绍,如何利用Python快速合成gif图,主要利用Python的第三方库imageio

imageio介绍

imageio提供了很多方便读写图片的接口、包括读取网络图片、读取视频、生成gif图等。imageio提供许多的接口,imageio API,和示例程序

imageio安装

pip install imageio

合成gif图

import imageio
def compose_gif():
    img_paths = ["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg"
    ,"img/5.jpg","img/6.jpg"]
    gif_images = []
    for path in img_paths:
        gif_images.append(imageio.imread(path))
    imageio.mimsave("test.gif",gif_images,fps=1)

通过fps参数可以控制合成gif图片播放图片的速度和视频的播放帧率是一样的,fps参数越大播放的速率越大,fps越小播放的速度越慢.

读取特殊url图片

读取imageio的示例图片

import imageio
import matplotlib.pyplot as plt

def read_special_url_image():
    img = imageio.imread("imageio:chelsea.png")
    plt.imshow(img)
    plt.show()

读取url的网络图片

    url = 'http://upload.wikimedia.org/wikipedia/
    commons/d/de/Wikipedia_Logo_1.0.png'
    img = imageio.imread(url)

再使用url读取图片的时候可能会报seek的错误,这时候可以改成下面的形式

    url = "https://timgsa.baidu.com/timg?image&quality=80&size=
    b9999_10000&sec=1545324012100&di=77a4ba3d60cdfc60
    d161bd6ed97c2319&imgtype=0&src=http%3A%2F%2Fwww.hxzyt
    j.com%2Fthemes%2Ftheme_3%2Fpc%2Fimages%2Fpython%2Fimg_01.jpg"
    img = imageio.imread(imageio.core.urlopen(url).read(), '.jpg')

截图和读取粘贴板的图片

    #截屏
    img = imageio.imread("<screen>")
    #读取粘贴板的图片
    img = imageio.imread("<clipboard>")

读取视频

def get_video_per_frame():
    reader = imageio.get_reader("test.mp4")
    for i,im in enumerate(reader):
        print("Mean of frame %i is %1.1f"%(i,im.mean()))

在使用imageio读取视频的时候可能会报上面的错误,提示需要安装ffmpeg,可以根据提示进行安装即可.除此之外,imageio还提供了许多方便的接口,有兴趣的可以去了解一下.

总结

到此这篇关于如何使用Python快速生成gif图的文章就介绍到这了,更多相关Python快速生成gif图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 用实例说明python的*args和**kwargs用法

    用实例说明python的*args和**kwargs用法

    python的*args和**kwargs如何用,看了下面的例子你就清楚了。
    2013-11-11
  • Pycharm快捷键配置详细整理

    Pycharm快捷键配置详细整理

    这篇文章主要介绍了Pycharm快捷键配置详细整理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python代码库之Tuple如何append添加元素问题

    Python代码库之Tuple如何append添加元素问题

    这篇文章主要介绍了Python代码库之Tuple如何append添加元素问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Python中pass的作用与使用教程

    Python中pass的作用与使用教程

    这篇文章主要给大家介绍了关于Python中pass的作用与使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Django使用Profile扩展User模块方式

    Django使用Profile扩展User模块方式

    这篇文章主要介绍了Django使用Profile扩展User模块方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python如何使用Scapy实现端口探测

    Python如何使用Scapy实现端口探测

    Scapy 是一款使用纯Python编写的跨平台网络数据包操控工具,它能够处理和嗅探各种网络数据包,本文主要介绍了Python如何使用使用Scapy实现端口探测,有需要的可以参考下
    2023-10-10
  • Python2与Python3的区别实例分析

    Python2与Python3的区别实例分析

    这篇文章主要介绍了Python2与Python3的区别,结合实例形式分析了Python2与Python3在输出、编码、函数、运算等操作的常见区别与使用技巧,需要的朋友可以参考下
    2019-04-04
  • Python colormap库的安装和使用详情

    Python colormap库的安装和使用详情

    这篇文章主要介绍了Python colormap库的安装和使用详情,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Python设计模式中的行为型策略模式

    Python设计模式中的行为型策略模式

    这篇文章主要介绍了Python设计模式中的行为型策略模式,策略模式即Strategy Pattern,其定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户,下文相关资料具有一点的参考价值,需要的小伙伴可以参考一下
    2022-02-02
  • 深入理解python中的ThreadLocal

    深入理解python中的ThreadLocal

    本文主要介绍了深入理解python中的ThreadLocal,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论