当前位置: 首页 > news >正文

使用Python+OpenCV将多级嵌套文件夹下的视频文件抽帧

使用Python+OpenCV将多级嵌套文件夹下的视频文件抽帧

import os
import cv2
import time# 存放视频文件的多层嵌套文件夹路径
videoPath = 'D:\\videos\\'
# 保存抽帧的图片的文件夹路径
savePath = 'D:\\images\\'if not os.path.exists(savePath):os.mkdir(savePath)
video_num = 0for root, dirs, files in os.walk(videoPath):# 提取多级嵌套文件夹路径下的文件列表for video in files:print(video)if(video.endswith(".avi")):c = 1videofile = videoPath + videovc = cv2.VideoCapture(videofile) #读入视频文件if vc.isOpened(): #判断是否正常打开video_num = video_num + 1rval , frame = vc.read()#print("正常打开:",video)if(video_num%100 == 0):print(video_num)else:rval = Falseprint("打开失败:",video)continuetimeF = 25  #视频帧计数间隔频率try:while rval:   #循环读取视频帧rval, frame = vc.read()if(c%timeF == 0): #每隔timeF帧进行存储操作cv2.imwrite(savePath + video[:-4] + '_' + str(time.time_ns()) + '.jpg',frame) #存储为图像c = c + 1cv2.waitKey(1)except:#print("error")continuevc.release()

其中timeF变量是定义视频抽帧间隔频率,可修改

相关文章:

  • mybatis-plus开发orm
  • [Git] Git Stash 命令详解
  • Linux-skywalking部署步骤并且添加探针
  • 【设计模式】深入解析代理模式(委托模式):代理模式思想、静态模式和动态模式定义与区别、静态代理模式代码实现
  • 云原生 - Service Mesh
  • 基于SpringBoot的高校学习讲座预约系统-项目分享
  • 滑动窗口学习
  • 【Linux网络】各版本TCP服务器构建 - 从理解到实现
  • 基于Python+Pytest实现自动化测试(全栈实战指南)
  • 从单点突破到链式攻击:XSS 的渗透全路径解析
  • Linux-信号
  • 【产品经理从0到1】用户研究和需求分析
  • Python 设计模式:桥接模式
  • 23种设计模式-结构型模式之桥接模式(Java版本)
  • LangChain4j 搭配 Kotlin:以协程、流式交互赋能语言模型开发
  • 联易融助力乡村振兴,仙湖茶产业焕新机
  • 智能指针之设计模式4
  • 网络安全·第五天·TCP协议安全分析
  • leetcode0207. 课程表-medium
  • WordPress 只能访问html文件,不能访问php
  • 顶刊论文现“飙脏话辱骂第二作者”,期刊回应:正积极调查
  • 王楚钦球拍受损,乒乓球裁判揭秘大赛球拍检测
  • 海南省市监局与香港标准及检定中心签署合作协议,加快检验检测国际化
  • 大语言模型在线辩论说服力比人类辩手高出64%
  • 杨国荣︱以经验说事:思想史研究中一种需要反思的现象
  • 聘期三年已至:37岁香港青年叶家麟卸任三亚市旅游发展局局长