首页 > 编程语言 >Python播放GIF图片(ChatGPT代码参考)

Python播放GIF图片(ChatGPT代码参考)

时间:2023-06-23 17:44:06浏览次数:36  
标签:plt imageio gif Python filename GIF import ChatGPT

在网上找了好几个方法, 最后还是出现各种问题,解决不了播放GIF的功能。

最后,通过ChatGPT给出了简单明了的方案(使用第三方库imageiomatplotlib.animation来实现),调试直接通过。

但有小瑕疵,就是显示gif时隐藏掉坐标轴的功能无效,于是再做了一下优化。

 

[最终代码]

显示GIF动画:

import matplotlib.pyplot as plt
import matplotlib.animation as animation
import imageio

import numpy as np
import os

# -------------display gif---------------
def display_gif_file(): 

    # 加载GIF文件
    gif_path = "mygif.gif"
    gif = imageio.mimread(gif_path)

    # 创建图形窗口
    fig = plt.figure()
    
    # 定义更新函数,用于更新图像
    def update(frame):
        plt.clf()  # 清空图形窗口
        plt.imshow(frame)  # 显示当前帧
        plt.axis('off') # 隐藏x轴和y轴

    """ #方法二#
    # 创建图形窗口和子图
    fig, ax = plt.subplots()
    
    # 定义更新函数,用于更新图像
    def update(frame):
        ax.clear()  # 清空子图
        ax.imshow(frame)  # 显示当前帧
        ax.set_axis_off() # 隐藏x轴和y轴
    """ 

    # 创建动画
    ani = animation.FuncAnimation(fig, update, frames=gif, interval=60)

    # 显示动画
    plt.show()

 

GIF图片生成方法:

# -------------generate gif-----------------
def generate_gif_file():

    y = np.random.randint(30,90, size=(20))

    filenames = []
    num = 0
    for i in y:
        num += 1
        # 绘制40张折线图
        plt.plot(y[:num])
        plt.ylim(10, 300)
        # 保存图片文件
        filename = f'{num}.png'
        filenames.append(filename)
        plt.savefig(filename)
        plt.close()
        print("save:"+filename)
    # 生成gif
    finalImgName =r'mygif.gif' 
    with imageio.get_writer(finalImgName, mode='I') as writer:
        for filename in filenames:
            image = imageio.imread(filename)
            writer.append_data(image)
            print(filename)
            
    # 删除折线图
    for filename in set(filenames):
        os.remove(filename)

    print("gif done.")

 

GIF效果演示:

 

标签:plt,imageio,gif,Python,filename,GIF,import,ChatGPT
From: https://www.cnblogs.com/gaoxihan/p/17499434.html

相关文章

  • 基于Python+QT5+Dialog开发的舆情可视化分析系统
    基于Python+QT5开发的舆情可视化分析系统项目介绍......
  • 如何使用 40 个 ChatGPT 插件包括搜索网络
    OpenAI提供了超过540个ChatGPT插件,其中近20%搜索网络。了解这些AI驱动的搜索工具的工作原理以及哪些工具最好。随着最近ChatGPT插件商店的扩展,不断发展的人工智能格局又向前迈进了一大步。该商店以提供大量增强ChatGPT功能的插件而闻名,现在拥有近550个插件的令人印象深刻的......
  • 花朵识别系统Python+TensorFlow+Django+卷积神经网络算法实现
    一、背景花朵识别系统,基于Python实现,深度学习卷积神经网络,通过TensorFlow搭建卷积神经网络算法模型,并对数据集进行训练最后得到训练好的模型文件,并基于Django搭建可视化操作平台。在当今信息化社会,图像识别技术在各种领域都展现出了重要的应用价值,包括医学影像分析、自动驾驶、......
  • 文本识别分类系统python,基于深度学习的CNN卷积神经网络算法
    一、介绍文本分类系统,使用Python作为主要开发语言,通过TensorFlow搭建CNN卷积神经网络对十余种不同种类的文本数据集进行训练,最后得到一个h5格式的本地模型文件,然后采用Django开发网页界面,实现用户在界面中输入一段文字,识别其所属的文本种类。在我们的日常生活和工作中,文本数据无......
  • 解放计算力:使用并行处理提升python for循环速度
    Python是一门功能强大的编程语言,但在处理大规模数据或复杂计算任务时,性能可能成为一个瓶颈。幸运的是,Python提供了多种方法来提升性能,其中之一是利用并行处理来加速循环操作。本文将介绍如何使用并行处理技术来优化for循环,从而提高Python程序的执行速度。我们将讨论并行处......
  • ChatGPT和AI会重燃中国的虚拟宇宙吗?
    随着像Meta这样的科技巨头关闭他们的元宇宙部门以支持人工智能(AI)的努力——尽管他们认为元宇宙仍将是其主要产品——观众们相信,以前备受赞誉的虚拟生态系统已经被AI淘金热从互联网宝座上推倒了。人工智能的利润潜力在今年上半年吸引了一大批投资者和采用者。OpenAI的ChatGPT......
  • Python基于Socket编写TcpServer通信基本框架
    如下主要是实现单客户端连接通信,如下为Socket模块的常用属性和方法介绍。如要实现多客户端连接,请使用threading模块的多线程技术实现。属性:•socket.AF_INET:IPv4地址族。•socket.AF_INET6:IPv6地址族。•socket.SOCK_STREAM:TCP协议类型。•socket.SOCK_DGRAM:UDP协议类......
  • gRPC学习记录--python
    gRPC学习记录基于:gRPC官方文档中文版v1.0目录gRPC学习记录gRPC是什么?应用在准备:安装安装Git安装gRPCPython使用protocolbuffersProtocolbuffers版本HelloWorfgRPC!定义服务生成gRPC代码写一个服务器服务实现服务端实现写一个客户端连接服务调用RPC试一下!gRPC......
  • ChatGPT背后的指令学习是什么?PSU最新首篇《指令学习》技术全面综述,详述指令学习关键问
    任务语义可以用一组输入到输出的例子或一条文本指令来表示。传统的自然语言处理(NLP)机器学习方法主要依赖于大规模特定任务样本集的可用性。出现了两个问题: 首先,收集特定于任务的标记示例,不适用于任务可能太复杂或太昂贵而无法注释,或系统需要立即处理新任务的场景;其次,这对用户......
  • 独家专访:OpenAI 的 Sam Altman 谈 ChatGPT 以及通用人工智能如何“打破资本主义”
    作为OpenAI的首席执行官,SamAltman领导的这家初创公司是正在快速增长的生成式AI行业中最热门且最受关注的一家。在1月中旬参观了OpenAI的旧金山办事处后,福布斯采访了这位最近不太愿意在媒体上抛头露面的投资者和企业家,讨论了ChatGPT、通用人工智能、以及该公司的人工智能......