python实现视频分帧效果


Posted in Python onMay 31, 2019

本文实例为大家分享了python实现视频分帧的具体代码,供大家参考,具体内容如下

import cv2 
vidcap = cv2.VideoCapture('005.avi') 
success,image = vidcap.read() 
count = 0 
success = True 
while success: 
 success,image = vidcap.read() 
 cv2.imwrite("frame%d.jpg" % count, image)  # save frame as JPEG file 
 if cv2.waitKey(10) == 27:      
  break 
 count += 1

python tools:将视频的每一帧提取并保存

# coding=utf-8 
 
import os 
import cv2 
 
videos_src_path = "/home/wgp/视频/" 
video_formats = [".MP4", ".MOV"] 
frames_save_path = "/home/wgp/视频/" 
width = 320 
height = 240 
time_interval = 50 
 
 
def video2frame(video_src_path, formats, frame_save_path, frame_width, frame_height, interval): 
 """ 
 将视频按固定间隔读取写入图片 
 :param video_src_path: 视频存放路径 
 :param formats: 包含的所有视频格式 
 :param frame_save_path: 保存路径 
 :param frame_width: 保存帧宽 
 :param frame_height: 保存帧高 
 :param interval: 保存帧间隔 
 :return: 帧图片 
 """ 
 videos = os.listdir(video_src_path) 
 
 def filter_format(x, all_formats): 
  if x[-4:] in all_formats: 
   return True 
  else: 
   return False 
 
 videos = filter(lambda x: filter_format(x, formats), videos) 
 
 for each_video in videos: 
  print "正在读取视频:", each_video 
 
  each_video_name = each_video[:-4] 
  os.mkdir(frame_save_path + each_video_name) 
  each_video_save_full_path = os.path.join(frame_save_path, each_video_name) + "/" 
 
  each_video_full_path = os.path.join(video_src_path, each_video) 
 
  cap = cv2.VideoCapture(each_video_full_path) 
  frame_index = 0 
  frame_count = 0 
  if cap.isOpened(): 
   success = True 
  else: 
   success = False 
   print("读取失败!") 
 
  while(success): 
   success, frame = cap.read() 
   print "---> 正在读取第%d帧:" % frame_index, success 
 
   if frame_index % interval == 0: 
    resize_frame = cv2.resize(frame, (frame_width, frame_height), interpolation=cv2.INTER_AREA) 
    # cv2.imwrite(each_video_save_full_path + each_video_name + "_%d.jpg" % frame_index, resize_frame) 
    cv2.imwrite(each_video_save_full_path + "%d.jpg" % frame_count, resize_frame) 
    frame_count += 1 
 
   frame_index += 1 
 
 cap.release() 
 
 
if __name__ == '__main__': 
 video2frame(videos_src_path, video_formats, frames_save_path, width, height, time_interval)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详细解析Python当中的数据类型和变量
Apr 25 Python
一文总结学习Python的14张思维导图
Oct 17 Python
python实现简易数码时钟
Feb 19 Python
python添加模块搜索路径和包的导入方法
Jan 19 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
Python实现KNN(K-近邻)算法的示例代码
Mar 05 Python
Python正则表达式匹配和提取IP地址
Jun 06 Python
对python特殊函数 __call__()的使用详解
Jul 02 Python
简单了解Python3里的一些新特性
Jul 13 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
使用Python实现跳帧截取视频帧
May 31 #Python
python tools实现视频的每一帧提取并保存
Mar 20 #Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 #Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 #Python
Python可变和不可变、类的私有属性实例分析
May 31 #Python
python实现批量视频分帧、保存视频帧
May 31 #Python
Python内置random模块生成随机数的方法
May 31 #Python
You might like
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
PHP-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
jQuery的强大选择器小结
2009/12/27 Javascript
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
Python的装饰器用法学习笔记
2016/06/24 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
django的autoreload机制实现
2020/06/03 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
地心历险记观后感
2015/06/15 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
2019假期福利管理制度!
2019/07/15 职场文书