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利用operator模块实现对象的多级排序详解
May 09 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
python 实现倒排索引的方法
Dec 25 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
Python去除字符串前后空格的几种方法
Mar 04 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
pycharm激活码有效到2020年11月底
Sep 18 Python
Python生成词云的实现代码
Jan 14 Python
Python基于pandas爬取网页表格数据
May 11 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 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中引用符号(&)的使用详解
2013/11/13 PHP
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
JS画线(实例代码)
2013/11/20 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
Python读取xlsx文件的实现方法
2019/07/04 Python
Django实现auth模块下的登录注册与注销功能
2019/10/10 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
工程承包协议书
2014/04/22 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
大学生团日活动总结
2015/05/06 职场文书
保险公司增员口号
2015/12/25 职场文书
python批量更改目录名/文件名的方法
2021/04/18 Python
Python turtle编写简单的球类小游戏
2022/03/31 Python