一个简单的通过Python将视频文件转换为gif动图的示例。
1. 准备工作
安装cv2, imageio库
pip install cv2
pip install imageio
2. 代码
整个代码部分主要有两大块,即两个函数实现,一个是 extract_image_from_video 实现从视频文件中抽取图片的操作,另一个是 make_gif 实现通过图片构建 gif 图。
首先导入需要的库
import cv2
import os
import imageio
2.1. 从视频文件中抽帧
若原始视频文件每秒帧数为 fps,我们每秒只想保留 cap_fps 帧,那么我们只需每隔 fps // cap_fps 帧取一帧即可。
def extract_image_from_video(video_path_name=None, img_dir='img/', cap_fps=10):
'''
从视频中提取图片
:param video_path_name: 视频文件全路径
:param img_dir: 截图存放文件夹路径
:param cap_fps: 每秒截图数量
:return:
'''
# 创建文件夹用于保存从video中提取的图像
if not os.path.exists(img_dir):
os