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

yipeiwu_com6年前Python基础

如果你在文件夹里有很多视频,并且文件夹里还有文件夹,文件夹里的文件夹也有视频,怎么能逐个读取并且保存。。所以我写了个代码用了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设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python中requests库session对象的妙用详解

在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息。 妙用1 requests库的session对象能够帮我们跨请...

一个小示例告诉你Python语言的优雅之处

比如, 我们希望希望检测"一段string是否以特定的字符串结尾?", 通常我们使用: if needle.endswith('ly') or needle.endswi...

十分钟利用Python制作属于你自己的个性logo

十分钟利用Python制作属于你自己的个性logo

前言 词云的使用相信大家已经不陌生了,使用很简单,直接调用wordcloud包就可以了。它的主要功能是根据文本词汇和词汇频率生成图片,从中可以直观的看出各个词汇所占比重。 之前我们也介绍...

Python之用户输入的实例

Python之用户输入的实例

大多数程序都旨在解决最终用户的问题,为此,需要从用户那里获取一些信息。函数input()让程序暂停运行,等待用户输入一些文本。 例如: name = input("Please in...

python文件和目录操作方法大全(含实例)

一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下...