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循环监控远程端口的方法
Mar 14 Python
Python中下划线的使用方法
Mar 27 Python
python访问系统环境变量的方法
Apr 29 Python
python3.6连接MySQL和表的创建与删除实例代码
Dec 28 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
python修改FTP服务器上的文件名
Sep 11 Python
python 字符串常用方法汇总详解
Sep 16 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
requests在python中发送请求的实例讲解
Feb 17 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 一个比较完善的简单文件上传
2010/03/25 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
js 奇葩技巧之隐藏代码
2017/08/11 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
js中this对象用法分析
2018/01/05 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
详解Python Socket网络编程
2016/01/05 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
Python秒算24点实现及原理详解
2019/07/29 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
C++面试题目
2013/06/25 面试题
法律专业自我鉴定
2013/10/03 职场文书
房屋过户委托书范本
2014/10/07 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电