python创建.gif动画

播放一次就结束


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)
posted @ 2024-01-08 19:34  Elina-Chang  阅读(63)  评论(0)    收藏  举报