播放一次就结束
import os
import imageio
def create_gif(gif_name, path, duration=0.3):
'''
生成gif文件,原始图片仅支持png格式
gif_name : 字符串,所生成的 gif 文件名,带 .gif 后缀
path : 需要合成为 gif 的图片所在路径
duration : gif 图像时间间隔
'''
frames = []
png_files = sorted(os.listdir(path))
image_list = [os.path.join(path, f) for f in png_files if f.lower().endswith('.png')]
for image_name in image_list:
# 读取 png 图像文件
frames.append(imageio.imread(image_name))
# 保存为 gif,设置 loop 参数为 0 表示无限循环
imageio.mimsave(gif_name, frames, 'GIF', duration=duration)
if __name__=="__main__":
# 使用示例
create_gif('./segmentation/data_visualize/normal.gif', './segmentation/data_visualize/normal', duration=0.1)
# create_gif('./segmentation/image_roi.gif', './segmentation/image_roi_series', duration=0.1)
循环播放
import os
import imageio
def create_gif(gif_name, path, duration=0.3):
'''
生成gif文件,原始图片仅支持png格式
gif_name : 字符串,所生成的 gif 文件名,带 .gif 后缀
path : 需要合成为 gif 的图片所在路径
duration : gif 图像时间间隔
'''
frames = []
png_files = sorted(os.listdir(path))
image_list = [os.path.join(path, f) for f in png_files if f.lower().endswith('.png')]
for image_name in image_list:
# 读取 png 图像文件
frames.append(imageio.imread(image_name))
# 保存为 gif,设置 loop 参数为 0 表示无限循环
imageio.mimsave(gif_name, frames, 'GIF', duration=duration, loop=0)
if __name__=="__main__":
# 使用示例
create_gif('./segmentation/data_visualize/normal.gif', './segmentation/data_visualize/normal', duration=0.1)
# create_gif('./segmentation/image_roi.gif', './segmentation/image_roi_series', duration=0.1)