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 基础教程之包和类的用法
Feb 23 Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
python 判断是否为正小数和正整数的实例
Jul 23 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
Oct 28 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
nginx+uwsgi+django环境搭建的方法步骤
Nov 25 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
python 基于wx实现音乐播放
Nov 24 Python
Python制作一个随机抽奖小工具的实现
Jul 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
非常不错的MySQL优化的8条经验
2008/03/24 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
初识Node.js
2014/09/03 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
python 控制语句
2011/11/03 Python
Python map和reduce函数用法示例
2015/02/26 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python数据结构之翻转链表
2017/02/25 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
TensorFlow的权值更新方法
2018/06/14 Python
python实现简易内存监控
2018/06/21 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
数据管理员的自我评价分享
2013/11/15 职场文书
房屋继承公证书
2014/04/10 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
大学生暑期实践报告
2015/07/13 职场文书
中学生运动会广播稿
2015/08/19 职场文书
2015年乡镇食品安全工作总结
2015/10/22 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
Python读取和写入Excel数据
2022/04/20 Python
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL