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写xml文件的操作实例
Oct 05 Python
Python计算三角函数之asin()方法的使用
May 15 Python
Python模块包中__init__.py文件功能分析
Jun 14 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
pycharm 实现显示project 选项卡的方法
Jan 17 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
详解python算法之冒泡排序
Mar 05 Python
Python实现把类当做字典来访问
Dec 16 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
python使用建议技巧分享(三)
Aug 18 Python
python 三种方法实现对Excel表格的读写
Nov 19 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
MySQL 日期时间函数常用总结
2012/06/12 PHP
PHP的5个安全措施小结
2012/07/17 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
javascript History对象原理解析
2020/02/17 Javascript
python 七种邮件内容发送方法实例
2014/04/22 Python
python if not in 多条件判断代码
2016/09/21 Python
Python学习小技巧之列表项的排序
2017/05/20 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
python中取绝对值简单方法总结
2020/07/24 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
pandas针对excel处理的实现
2021/01/15 Python
python编程的核心知识点总结
2021/02/08 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
香港零食网购:上仓胃子
2020/06/08 全球购物
医学生自荐信范文
2013/12/03 职场文书
大学生创业计划书的用途
2014/01/08 职场文书
个人校本研修方案
2014/05/26 职场文书
七一活动主持词
2015/06/29 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书