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 字符串格式化代码
Mar 17 Python
python写的一个squid访问日志分析的小程序
Sep 17 Python
Python实现子类调用父类的方法
Nov 10 Python
在Django的视图中使用form对象的方法
Jul 18 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
Python selenium如何设置等待时间
Sep 15 Python
使用Python的turtle模块画图的方法
Nov 15 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
Python 读取指定文件夹下的所有图像方法
Apr 27 Python
python opencv实现切变换 不裁减图片
Jul 26 Python
Python 将Matrix、Dict保存到文件的方法
Oct 30 Python
Python+Opencv实现把图片、视频互转的示例
Dec 17 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
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
通过celery异步处理一个查询任务的完整代码
2019/11/19 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
浅析Python 责任链设计模式
2020/09/11 Python
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
中专自我鉴定范文
2013/10/16 职场文书
英文自荐信格式
2013/11/28 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
中文教师求职信
2014/02/22 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
2014年妇女工作总结
2014/12/06 职场文书
借款民事起诉状范文
2015/05/19 职场文书
《窃读记》教学反思
2016/02/18 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
在项目中使用redis做缓存的一些思路
2021/09/14 Redis
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python