一、问题
博主最近在做深度学习的目标检测问题,需要用到自制的图片数据集。但是用摄像头拍的话,太慢了。于是博主就拍了一些视频,然后按帧将它保存下来。
二、开发环境
python3
OpenCV
windows10
三、代码实现
import cv2
import os
videos_src_path = r'./G5'#提取图片的视频文件夹
videos_save_path = r'./G5'#保存图片的路径
videos = os.listdir(videos_src_path) #用于返回指定的文件夹包含的文件或文件夹的名字的列表。
videos = filter(lambda x: x.endswith('mp4'), videos)#将mp4文件读进来,可改为avi等格式
for each_video in videos:
frame_count = 1
# 得到每个文件夹的名字, 并指定每一帧的保存路径
each_video_name, _ = each_video.split('.')
os.mkdir(videos_save_path + '/' + each_video_name)
each_video_save_full_path = os.path.join(videos_save_path, each_video_name) + '/'
# 得到完整的视频路径
each_video_full_path = os.path.join(videos_src_path, each_video)
# 用OpenCV一帧一帧读取出来
cap = cv2.VideoCapture(each_video_full_path)