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中管道用法入门实例
Jun 04 Python
python requests 使用快速入门
Aug 31 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
使用python+whoosh实现全文检索
Dec 09 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
Python callable内置函数原理解析
Mar 05 Python
python实现拼接图片
Mar 23 Python
Python list和str互转的实现示例
Nov 16 Python
Selenium关闭INFO:CONSOLE提示的解决
Dec 07 Python
OpenCV-Python实现人脸磨皮算法
Jun 07 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
提取HTML标签
2006/10/09 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
五段实用的js高级技巧
2011/12/20 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
bootstrap与pagehelper实现分页效果
2018/12/29 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
python client使用http post 到server端的代码
2013/02/10 Python
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
Python标准库之循环器(itertools)介绍
2014/11/25 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
python中几种自动微分库解析
2019/08/29 Python
python 视频逐帧保存为图片的完整实例
2019/12/10 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
python中加背景音乐如何操作
2020/07/19 Python
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
农村党支部先进事迹
2014/01/14 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技