做深度学习训练的时候,需要从mp4视频文件中抽帧得到图片数据,其中mp4文件是保存在一个大文件夹下的不同子文件夹下面的,用下面的python脚本实现
import cv2
import os
"""根据传入的目录参数,得到该目录所有子文件夹下的所有的mp4文件"""
def get_mp4path(main_dir):
list_mp4 = []
for root, dirs, files in os.walk(main_dir):
for file in files:
if file.endswith(".mp4"): #只要mp4文件,
#print(os.path.join(root, file))
list_mp4.append(os.path.join(root, file))
return list_mp4 #得到所有的mp4文件的列表(包含路径)
"""根据传入的目录地址和MP4文件的名字,从视频文件中抽帧得到图片数据并保存"""
def get_image(path):
print(path)#调试,记得删除
mp4_path, mp4_name = os.path.split(path) #分别得到目录和文件名