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的Flask框架中使用模版的入门教程
Apr 20 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
Python编程中对super函数的正确理解和用法解析
Jul 02 Python
Python简单定义与使用字典dict的方法示例
Jul 25 Python
Python 3中print函数的使用方法总结
Aug 08 Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 Python
python3爬取各类天气信息
Feb 24 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
Python开发的十个小贴士和技巧及长常犯错误
Sep 27 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 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编实现程动态图像的创建代码
2008/09/28 PHP
php实现无限级分类
2014/12/24 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
JavaScript 事件代理需要注意的地方
2020/09/08 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[43:41]OG vs Newbee 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python 条件判断的缩写方法
2008/09/06 Python
Python获取远程文件大小的函数代码分享
2014/05/13 Python
利用python求相邻数的方法示例
2017/08/18 Python
Python处理中文标点符号大集合
2018/05/14 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
Myprotein加拿大官网:欧洲第一的运动营养品牌
2018/01/06 全球购物
大学生活学习的自我评价
2013/12/03 职场文书
爱岗敬业演讲稿范文
2014/01/14 职场文书
经典演讲稿开场白
2014/08/25 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
社区植树节活动总结
2015/02/06 职场文书
学术研讨会主持词
2015/07/04 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书