GIF介绍
GIF(Graphics Interchange Format)是一种图形交换格式,它在互联网上广泛应用于图像的动画展示。GIF图像由一系列的图像帧组成,以一种连续循环的方式播放,形成动画效果。
GIF制作方法
个人制作GIF的方法主要有:使用GIF在线制作网站、使用相关软件,但是比较常见的网站或软件在制作GIF时通常会需要会员或付费。
作为一个享受开源(白嫖)的程序员,发现通过调用imageio库,即可自己无压力制作想要的GIF,代码如下所示:
import cv2
import imageio
def video_2_gif(video_path, gif_name, duration=0.0001):
"""
用视频生成gif
:param video_path: 准备用来生成图像的视频
:param gif_name: 生成的gif文件名——XXX.gif(有后缀)
:param duration: 每一帧间隔时间(秒)
"""
cap = cv2.VideoCapture(video_path)
gif_temp = []
while cap.isOpened():
ret, frame = cap.read()
cv2.imshow("", frame)
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
if ret:
gif_temp.append(frame)
else:
break
imageio.mimsave(gif_name, gif_temp, 'GIF', duration=duration)
print('done')
注意:在实际使用过程中通过监测资源发现,通过imageio库制作GIF似乎是将制作GIF用到的所有的图像帧放在RAM中进行的,因此在实际制作GIF过程中,需要充分权衡硬件条件与GIF质量。