python制作GIF图

1.使用mimsave

"""使用imageio重新生成一个GIF"""
import imageio
from PIL import Image

def preProcess(image_list):
    """处理一下图片大小"""
    for image_name in image_list:
        im = Image.open(image_name)
        im = im.resize((100, 100))		# 都搞成(100,100)尺寸的
        im.save(image_name, False)		# False指的是覆盖掉之前尺寸不规范的图片


def create_gif(image_list, gif_name, duration=1):
	"""制作gif图"""
    frames = []
    for image_name in image_list:
        frames.append(imageio.imread(image_name))

    imageio.mimsave(gif_name, frames, 'GIF', duration=duration)	# 选择'GIF'类型


if __name__ == '__main__':
    # image_list放上自己所需要合成的图片名
    image_list = ['1.jpeg', '2.jpeg', '3.jpeg', '4.jpeg', '5.jpeg', '6.jpeg']
    # gif_name:导出的gif图名
    gif_name = 'new.gif'
    duration = 1			# 这里的duration单位是1秒,与PIL.Image不一样(1ms)
    preProcess(image_list)	# 处理一下图片尺寸
    create_gif(image_list, gif_name, duration)	# 开始制作

版权声明:本文为CSDN博主「小白tree」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43469047/article/details/103484755

2.使用get_writer()

import os,imageio
import numpy as np
import matplotlib.pyplot as plt

def frames2video(path):
    """
    Merges images in path into a video

    :param path: path with prediction images
    :return: nothing
    """
    fnames = os.listdir(path)
    fnames.sort()
    images = np.array([plt.imread(os.path.join(path, fname)) for fname in fnames])
    # h, w, c = images[0].shape
    videowriter = imageio.get_writer('prediction_video.gif', fps=1)

    for im in images:
        videowriter.append_data(im)
    videowriter.close()


if __name__="__main__":
    path='./face' #face文件中放着7个图片
    frames2video(path)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

种豆得瓜er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值