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

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

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

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 = root + 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变量是定义视频抽帧间隔频率,可修改

相关文章:

  • AI 模型可靠性危机:DeepSeek 输出异常的技术归因与防范实践
  • 电源上电回勾现象
  • 【c语言】指针和数组笔试题解析
  • 常见数据库关键字示例 SQL 及执行顺序分析(带详细注释)
  • LX10-MDK的使用技巧
  • Qt基础006(事件)
  • 全国 OSM 数据集(2014 - 2024 年)
  • 【刷题Day23】线程和进程(浅)
  • 深度学习-全连接神经网络-3
  • Java核心API-网络编程
  • python的深拷贝浅拷贝(copy /deepcopy )
  • c语言数据结构--------选择排序
  • 《Operating System Concepts》阅读笔记:p764-p766
  • docker容器,mysql的日志文件怎么清理
  • Spark–steaming
  • 根据极点-零点分布进行状态空间模型降阶
  • 设备制造行业如何避免项目管理混乱?
  • 30分钟编写十大排序算法完成
  • NumPy入门:从数组基础到数学运算
  • Redis ⑤-单线程模型 | 常用数据结构
  • 印度袭击巴基斯坦已致至少3人死亡
  • 安顺市原副市长、市公安局原局长顾长华任贵州省民委副主任
  • 《中国医药指南》就“宫颈癌等论文出现男性病例”致歉:辞退涉事编辑
  • 山大齐鲁医院回应护士论文现“男性确诊子宫肌瘤”:给予该护士记过处分、降级处理
  • 贵州黔西游船发生侧翻事故,游客:事发时能见度只有一米,所乘船只停靠礁石避险
  • 路遇交通事故镇干部冲进火海救人,已申报见义勇为