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封装对象实现时间效果
Apr 23 Python
在Python中操作时间之tzset()方法的使用教程
May 22 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
python中reader的next用法
Jul 24 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 Python
python-django中的APPEND_SLASH实现方法
Jun 21 Python
对DJango视图(views)和模版(templates)的使用详解
Jul 17 Python
对Python函数设计规范详解
Jul 19 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
解析python 类方法、对象方法、静态方法
Aug 15 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&mysql 日期操作小记
2012/02/27 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
[JS]点出统计器
2020/10/11 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
详解离线安装npm包的几种方法
2018/11/25 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Django CBV类的用法详解
2019/07/26 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
python如何写出表白程序
2020/06/01 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
python在协程中增加任务实例操作
2021/02/28 Python
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
公司培训心得体会
2014/01/03 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
秋季运动会广播稿
2014/02/22 职场文书
《孙权劝学》教学反思
2014/04/23 职场文书
信息合作协议书
2014/10/09 职场文书
给病人的慰问信
2015/03/23 职场文书
体育教师教学随笔
2015/08/15 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python