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的Flask框架中SQLAlchemy使用时的乱码问题解决
Nov 07 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 Python
Python基础之getpass模块详细介绍
Aug 10 Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
python实现简单登陆流程的方法
Apr 22 Python
Python中的单继承与多继承实例分析
May 10 Python
python pyheatmap包绘制热力图
Nov 09 Python
Python笔试面试题小结
Sep 07 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
Python基于Tkinter编写crc校验工具
May 06 Python
使用Python防止SQL注入攻击的实现示例
May 21 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
php实现图片添加水印功能
2014/02/13 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
php bootstrap实现简单登录
2016/03/08 PHP
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
浅谈Javascript面向对象编程
2011/11/15 Javascript
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
Vue.use源码分析
2017/04/22 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
python实现公司年会抽奖程序
2019/01/22 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
Django中多种重定向方法使用详解
2019/07/17 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
python在地图上画比例的实例详解
2020/11/13 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
HTML5的语法变化介绍
2013/08/13 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
COSETTE官网:奢华,每天
2020/03/22 全球购物
扬尘污染防治方案
2014/06/15 职场文书
高中生逃课检讨书
2014/10/10 职场文书
入党函调证明材料
2015/06/19 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS