python批量读取视频并按指定数量抽帧

  最近需要做一个数据集,考虑到样本为视频的原因需要对文件夹下所有视频进行抽帧处理,将样本处理为图片后进行标注,以便网络进行训练。

  本文代码实现的主要功能有:

     1、读取到文件夹下每个视频的FPS、帧数,以及所有视频的总帧数。

     2、按照指定的帧数抽帧处理,每隔n帧保存一帧。

     3、按照每个抽帧的视频名称生成对应的文件夹保存图片。

     4、将成功抽帧的视频名称写入txt文件,方便检查。

  代码如下:

# -*- coding: utf-8 -*-

import cv2
import os
import pdb
import numpy as np
from glob2 import glob

videos_src_path = 'C:\\Users\\Zhang\\Desktop\\aaa\\buy\\'  # 提取图片的视频文件夹

#筛选文件夹下MP4格式的文件
#videos = os.listdir(videos_src_path)  # 用于返回指定的文件夹包含的文件或文件夹的名字的列表。
#videos = filter(lambda x: x.endswith('mp4'), videos)
dirs = os.listdir(videos_src_path)  # 获取指定路径下的文件

#根据名称创建对应的文件夹
# def mkdir(path):
#   folder=os.path.exists(path)
#   if not folder:
#     os.makedirs(path)
#     print(path+"---Done---")
#   else:
#     print(path+"---This is the folder---")
count = 0

#数总帧数
# total_frame = 0
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值