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实现正则匹配检索远端FTP目录下的文件
Mar 25 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
Nov 11 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
Dec 14 Python
python实现NB-IoT模块远程控制
Jun 20 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
python中dir()与__dict__属性的区别浅析
Dec 10 Python
pandas去重复行并分类汇总的实现方法
Jan 29 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
Django 限制访问频率的思路详解
Dec 24 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
使用Python判断一个文件是否被占用的方法教程
Dec 16 Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 06 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
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
php获取apk包信息的方法
2014/08/15 PHP
深入理解PHP中的global
2014/08/19 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
ext 代码生成器
2009/08/07 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
JS实现电商放大镜效果
2017/08/24 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
python 自动去除空行的实例
2018/07/24 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
美术师范毕业生自荐信
2013/11/16 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
防汛工作情况汇报
2014/10/28 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
导游词之包公祠
2019/11/25 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
基于tensorflow权重文件的解读
2021/05/26 Python