Python提取视频中图片的示例(按帧、按秒)


Posted in Python onOctober 22, 2020

一、按帧提取

#coding=utf-8
import os
import cv2
 
def save_img():  #提取视频中图片 按照每帧提取
 video_path = r'D:\\test\\' #视频所在的路径
 f_save_path = 'D:\\aaa\\' #保存图片的上级目录
 videos = os.listdir(video_path) #返回指定路径下的文件和文件夹列表。
 for video_name in videos:  #依次读取视频文件
 file_name = video_name.split('.')[0] #拆分视频文件名称 ,剔除后缀
 folder_name = f_save_path + file_name #保存图片的上级目录+对应每条视频名称 构成新的目录存放每个视频的
 os.makedirs(folder_name,exist_ok=True) #创建存放视频的对应目录
 vc = cv2.VideoCapture(video_path+video_name) #读入视频文件
 c=0   #计数 统计对应帧号
 rval=vc.isOpened() #判断视频是否打开 返回True或Flase
 
 while rval: #循环读取视频帧
  rval, frame = vc.read() #videoCapture.read() 函数,第一个返回值为是否成功获取视频帧,第二个返回值为返回的视频帧:
  pic_path = folder_name+'/'
  if rval:
  cv2.imwrite(pic_path + file_name + '_' + str(c) + '.jpg', frame) #存储为图像,保存名为 文件夹名_数字(第几个文件).jpg
  cv2.waitKey(1) #waitKey()--这个函数是在一个给定的时间内(单位ms)等待用户按键触发;如果用户没有按下 键,则接续等待(循环)
  c = c + 1
  else:
  break
 vc.release()
 print('save_success'+folder_name)
 
save_img()

运行结果

Python提取视频中图片的示例(按帧、按秒)

二、按秒提取

#coding=utf-8
import os
from cv2 import cv2

def save_img2():  #提取视频中图片 按照每秒提取 间隔是视频帧率
 video_path = r'D:\\test\\' #视频所在的路径
 f_save_path = 'D:\\aaa\\' #保存图片的上级目录
 videos = os.listdir(video_path) #返回指定路径下的文件和文件夹列表。
 for video_name in videos:  #依次读取视频文件
 file_name = video_name.split('.')[0] #拆分视频文件名称 ,剔除后缀
 folder_name = f_save_path + file_name #保存图片的上级目录+对应每条视频名称 构成新的目录存放每个视频的
 os.makedirs(folder_name,exist_ok=True) #创建存放视频的对应目录
 vc = cv2.VideoCapture(video_path+video_name) #读入视频文件
 fps = vc.get(cv2.CAP_PROP_FPS) #获取帧率
 print(fps) #帧率可能不是整数 需要取整
 rval=vc.isOpened() #判断视频是否打开 返回True或Flase
 c = 1
 while rval: # 循环读取视频帧
  rval, frame = vc.read() # videoCapture.read() 函数,第一个返回值为是否成功获取视频帧,第二个返回值为返回的视频帧:
  pic_path = folder_name + '/'
  if rval:
   
  if (c % round(fps) == 0): # 每隔fps帧进行存储操作 ,可自行指定间隔
   cv2.imwrite(pic_path + file_name + '_' + str(c) + '.jpg', frame) # 存储为图像,保存名为 文件夹名_数字(第几个文件).jpg
  cv2.waitKey(1) # waitKey()--这个函数是在一个给定的时间内(单位ms)等待用户按键触发;如果用户没有按下 键,则接续等待(循环)
  c = c + 1
  else:
  break
 vc.release()
 print('save_success' + folder_name)
 
save_img2()

运行结果

Python提取视频中图片的示例(按帧、按秒)

以上就是Python提取视频中的帧图片的示例的详细内容,更多关于python 提取视频图片的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python中的一些类型转换函数小结
Feb 10 Python
在Python中通过threading模块定义和调用线程的方法
Jul 12 Python
python开发利器之ulipad的使用实践
Mar 16 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
浅谈pycharm出现卡顿的解决方法
Dec 03 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
基于django ManyToMany 使用的注意事项详解
Aug 09 Python
Python编写带选项的命令行程序方法
Aug 13 Python
keras之权重初始化方式
May 21 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
Jun 29 Python
python爬虫使用scrapy注意事项
Nov 23 Python
详解python模块pychartdir安装及导入问题
Oct 22 #Python
Python实现自动装机功能案例分析
Oct 22 #Python
Python reversed反转序列并生成可迭代对象
Oct 22 #Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 #Python
Python类的继承super相关原理解析
Oct 22 #Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
Oct 22 #Python
Python基于内置函数type创建新类型
Oct 22 #Python
You might like
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
js自带函数备忘 数组
2006/12/29 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
Python使用openpyxl复制整张sheet
2021/03/24 Python
护士实习鉴定范文
2013/12/22 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
工伤赔偿协议书
2014/04/15 职场文书
后进生评语大全
2015/01/04 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP