python生成gif

import cv2
import imageio
import numpy as np
import os
def make_gif():
    buff = []
    for filename in os.listdir("/home/dfy/Speech_Enhancement/angle_images"):
        img3 = cv2.imread("/home/dfy/Speech_Enhancement/angle_images/"+filename)
        img3=cv2.cvtColor(img3,cv2.COLOR_BGR2RGB)
        buff.append(img3)


    imageio.mimsave("{}.gif".format("2"), np.array(buff) , duration=0.2)

if __name__ == '__main__':
    make_gif()
import os

import numpy as np
from PIL import Image, ImageFont
from PIL import ImageDraw

import pandas
def make_gif(paths, gif_path, max_frame=50, prefix=""):
    import imageio
    paths=paths+"/"+pandas.DataFrame(os.listdir(paths))
    paths=paths.values.tolist()
    pa=[]
    for pat in paths:
        if "png" in pat[0]:
            pa.append(pat[0])
    skip_frame = len(pa) // max_frame
    pa = pa[::skip_frame+1]

    images = [imageio.imread(path) for path in pa]
    max_h, max_w, max_c = np.max(
            np.array([image.shape for image in images]), 0)

    for idx, image in enumerate(images):
        h, w, c = image.shape
        blank = np.ones([max_h, max_w, max_c], dtype=np.uint8) * 255

        pivot_h, pivot_w = (max_h-h)//2, (max_w-w)//2
        blank[pivot_h:pivot_h+h,pivot_w:pivot_w+w,:c] = image

        images[idx] = blank

    try:
        imagess = []
        for image in images:
            imagess.append(Image.fromarray(image))
        draws=[]
        for image in imagess:
            draws.append(ImageDraw.Draw(image))
        font = ImageFont.truetype("assets/arial.ttf", 30)


        for step, draw in enumerate(draws):
            draw.text((max_h//20, max_h//20),
                      f"{prefix}step: {format(step, ',d')}", (0, 0, 0), font=font)
    except IndexError:
        pass
    imageio.mimsave(gif_path, [np.array(img) for img in images], duration=0.5)


if __name__ == '__main__':
    make_gif("/home/chenyang/PycharmProjects/ENAS-pytorch-master/logs/ptb_2020-04-15_10-00-07/networks","s.gif" , max_frame=50, prefix="")

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

东方佑

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值