当前位置: 首页 > 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
  • 坚守17年,这件事姚明就算赔钱也在继续做
  • 伊朗外长访华将会见哪些人?讨论哪些议题?外交部回应
  • 特朗普“炮轰”美联储带崩美股!道指跌超900点,黄金再创新高
  • 竹子砍了地却种不上,贵州赤水被指“整改复耕”存形式主义
  • 花卉引流+商场促销,上海浦东用“花经济”带动“消费热”
  • 俄罗斯与乌克兰互换246名在押人员