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之hello world
May 21 Python
Python部署web开发程序的几种方法
May 05 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
python MySQLdb使用教程详解
Mar 20 Python
使用Flask集成bootstrap的方法
Jul 24 Python
python 调用钉钉机器人的方法
Feb 20 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
Python 用__new__方法实现单例的操作
Dec 11 Python
python 基于opencv 实现一个鼠标绘图小程序
Dec 11 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 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
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
vue filters的使用详解
2018/06/11 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
python网络编程学习笔记(10):webpy框架
2014/06/09 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
简单了解Python生成器是什么
2019/07/02 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
大学生自荐信
2013/12/11 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
学术会议领导致辞
2015/07/29 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript
Android中的Launch Mode详情
2022/06/05 Java/Android
MySQL生成千万测试数据以及遇到的问题
2022/08/05 MySQL