python使用openCV遍历文件夹里所有视频文件并保存成图片


Posted in Python onJanuary 14, 2020

如果你在文件夹里有很多视频,并且文件夹里还有文件夹,文件夹里的文件夹也有视频,怎么能逐个读取并且保存。。所以我写了个代码用了os,walk,这个可以遍历所有文件夹里的文件和文件夹

import os
import cv2
cut_frame = 250 # 多少帧截一次,自己设置就行
save_path = "C:\文献与资料\手持红外\图片"
for root, dirs, files in os.walk(r"C:\文献与资料\手持红外"): # 这里就填文件夹目录就可以了
 for file in files:
 # 获取文件路径
 if ('.mp4' in file):
  path = os.path.join(root, file)
  video = cv2.VideoCapture(path)
  video_fps = int(video.get(cv2.CAP_PROP_FPS))
  print(video_fps)
  current_frame = 0
  while (True):
  ret, image = video.read()
  current_frame = current_frame + 1
  if ret is False:
   video.release()
   break
  if current_frame % cut_frame == 0:
   # cv2.imwrite(save_path + '/' + file[:-4] + str(current_frame) + '.jpg',
   #  image) # file[:-4]是去掉了".mp4"后缀名,这里我的命名格式是,视频文件名+当前帧数+.jpg,使用imwrite就不能有中文路径和中文文件名
   cv2.imencode('.jpg', image)[1].tofile(save_path + '/' + file[:-4] + str(current_frame) + '.jpg') #使用imencode就可以整个路径中可以包括中文,文件名也可以是中文
   print('正在保存' + file + save_path + '/' + file[:-4] + str(current_frame))

ps:下面看下python 遍历文件夹

import os
# 遍历文件夹
def walkFile(file):
 for root, dirs, files in os.walk(file):
 # root 表示当前正在访问的文件夹路径
 # dirs 表示该文件夹下的子目录名list
 # files 表示该文件夹下的文件list
 # 遍历文件
 for f in files:
  print(os.path.join(root, f))
 # 遍历所有的文件夹
 for d in dirs:
  print(os.path.join(root, d))
def main():
 walkFile("f:/ostest/")
if __name__ == '__main__':
 main()

python使用openCV遍历文件夹里所有视频文件并保存成图片

总结

以上所述是小编给大家介绍的python使用openCV遍历文件夹里所有视频文件并保存成图片,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python 正则表达式(转义问题)
Dec 15 Python
介绍Python的Django框架中的QuerySets
Apr 20 Python
使用Python & Flask 实现RESTful Web API的实例
Sep 19 Python
Python实现简单生成验证码功能【基于random模块】
Feb 10 Python
Python封装原理与实现方法详解
Aug 28 Python
详解python Todo清单实战
Nov 01 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
Dec 28 Python
Python random模块制作简易的四位数验证码
Feb 01 Python
python实现堆排序的实例讲解
Feb 21 Python
python和c语言哪个更适合初学者
Jun 22 Python
Python接口自动化测试框架运行原理及流程
Nov 30 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 Python
pytorch实现mnist数据集的图像可视化及保存
Jan 14 #Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
Jan 14 #Python
python3.7通过thrift操作hbase的示例代码
Jan 14 #Python
解决pytorch DataLoader num_workers出现的问题
Jan 14 #Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
Jan 14 #Python
python重要函数eval多种用法解析
Jan 14 #Python
关于ResNeXt网络的pytorch实现
Jan 14 #Python
You might like
php生成EXCEL的东东
2006/10/09 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
JS实现的RC4加密算法示例
2018/08/16 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
python实现随机梯度下降法
2020/03/24 Python
Python全栈之列表数据类型详解
2019/10/01 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
机械设计职业生涯规划书
2013/12/27 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
升学宴答谢词
2015/01/05 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js