个人笔记-python生成gif

2024-06-07 18:36
文章标签 python 笔记 生成 个人 gif

本文主要是介绍个人笔记-python生成gif,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用文件的修改时间戳进行排序

import os
import re
import imageio# 设置图片所在的文件夹路径
folder_path = '/home/czy/ACode/AMAW_20240219/9.3.x(Discrete_time_marching)/9.3.17.11.1(Disc_concessive_CH_ZJ)/current_figures'  # 文件夹路径;linux用pwd获取路径# # 获取文件夹内所有图片的文件名列表,并按顺序排序
image_files = sorted([f for f in os.listdir(folder_path) if f.endswith('.png')])# 获取每个文件的完整路径
file_paths = [os.path.join(folder_path, f) for f in image_files]# 使用文件的修改时间戳进行排序
sorted_file_paths = sorted(file_paths, key=os.path.getmtime)# 提取排序后的文件名
sorted_filenames = [os.path.basename(p) for p in sorted_file_paths]# 打印排序后的文件名以验证结果
for filename in sorted_filenames:print(filename)# 创建一个空的GIF图片列表
images = []# 遍历图片文件,并添加到GIF图片列表中
for filename in sorted_filenames:filepath = os.path.join(folder_path, filename)images.append(imageio.imread(filepath))# 设置GIF的保存路径和持续时间(每个图片的显示时间)
gif_path = os.path.join(folder_path, 'animation.gif')
duration = 0.1  # 每个图片显示0.1秒# 使用imageio的mimsave函数保存GIF动画
imageio.mimsave(gif_path, images, 'GIF', duration=duration)print(f'GIF animation saved to {gif_path}')

0.1-4.9

假如gif太大,可使用以下代码改小

from PIL import Image
from PIL import ImageSequence
import os# 设置工作目录到指定的路径(改成自己的)
os.chdir('/home/czy/ACode/AMAW_20240219/9.3.x(Discrete_time_marching)/9.3.17.11.1(Disc_concessive_CH_ZJ)/current_col_pt') im = Image.open('./animation.gif')
resize_frames= [frame.resize((frame.width // 2, frame.height // 2)) for frame in ImageSequence.Iterator(im)]  # 这里的2可改成任意数字,即比原来的改小一半,也可以直接改成数字(800,600)这种
resize_frames[0].save("animation_resize.gif", save_all=True, append_images=resize_frames[1:])
print("Done!")

在这里插入图片描述

使用文件名数字排序(如果文件名包括很多数字的话,排序会出错)

import os  
import imageio  # 设置图片所在的文件夹路径  
folder_path = '/home/czy/ACode/AMAW_20240219/9.3.x(Discrete_time_marching)/9.3.17.11.1(Disc_concessive_CH_ZJ)/current_figures' # 获取文件夹内所有图片的文件名列表,并按顺序排序  
image_files = sorted([f for f in os.listdir(folder_path) if f.endswith('.png')])  # 创建一个空的GIF图片列表  
images = []  # 遍历图片文件,并添加到GIF图片列表中  
for filename in image_files:  filepath = os.path.join(folder_path, filename)  images.append(imageio.imread(filepath))  # 设置GIF的保存路径和持续时间(每个图片的显示时间)  
gif_path = os.path.join(folder_path, 'animation.gif')  
duration = 0.1  # 每个图片显示0.1秒  # 使用imageio的mimsave函数保存GIF动画  
imageio.mimsave(gif_path, images, 'GIF', duration=duration)  print(f'GIF animation saved to {gif_path}')

这篇关于个人笔记-python生成gif的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039972

相关文章

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

Python如何调用另一个类的方法和属性

《Python如何调用另一个类的方法和属性》在Python面向对象编程中,类与类之间的交互是非常常见的场景,本文将详细介绍在Python中一个类如何调用另一个类的方法和属性,大家可以根据需要进行选择... 目录一、前言二、基本调用方式通过实例化调用通过类继承调用三、高级调用方式通过组合方式调用通过类方法/静

基于Python实现温度单位转换器(新手版)

《基于Python实现温度单位转换器(新手版)》这篇文章主要为大家详细介绍了如何基于Python实现温度单位转换器,主要是将摄氏温度(C)和华氏温度(F)相互转换,下面小编就来和大家简单介绍一下吧... 目录为什么选择温度转换器作为第一个项目项目概述所需基础知识实现步骤详解1. 温度转换公式2. 用户输入处

python中update()函数的用法和一些例子

《python中update()函数的用法和一些例子》update()方法是字典对象的方法,用于将一个字典中的键值对更新到另一个字典中,:本文主要介绍python中update()函数的用法和一些... 目录前言用法注意事项示例示例 1: 使用另一个字典来更新示例 2: 使用可迭代对象来更新示例 3: 使用

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Python中的sort()和sorted()用法示例解析

《Python中的sort()和sorted()用法示例解析》本文给大家介绍Python中list.sort()和sorted()的使用区别,详细介绍其参数功能及Timsort排序算法特性,涵盖自适应... 目录一、list.sort()参数说明常用内置函数基本用法示例自定义函数示例lambda表达式示例o

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法: