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="")
python生成gif
猜你喜欢
转载自blog.csdn.net/weixin_32759777/article/details/105531237
今日推荐
周排行