最近在做图像处理与深度学习的实践,获得了视频数据,我要将它每隔几帧提取一张图片,然后对图片进行标注,下面分享一下视频提取图片的代码,使用python。
import os
import cv2
videos_src_path = "./video/"
# video_formats = [".MP4", ".MOV"] 我的数据集都是.mp4所以不需要进行分类判断
frames_save_path = "./image/"
width = 2048
height = 1536
time_interval = 5
def list_all_files(rootdir):
import os
_files = []
list = os.listdir(rootdir) #列出文件夹下所有的目录与文件
for i in range(0,len(list)):
path = os.path.join(rootdir,list[i])
if os.path.isdir(path):
_files.extend(list_all_files(path))
if os.path.isfile(path):
_files.append(path)
return _files
def video2frame(video_src_path, frame_save_path, frame_width, frame_height, interval):
"""
将视频按固定间隔读取写入图片
:param video_src_path: 视频存放路径
:param formats: 包含的所有视频格式
:param frame_save_path: 保存路径
:param frame_width: 保存帧宽
:param frame_height: 保存帧高
:param interval: 保存帧间隔
:return: 帧图片