Python OpenCV对本地视频文件进行分帧保存的实例


Posted in Python onJanuary 08, 2019

如下所示:

# 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 OpenCV对本地视频文件进行分帧保存的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
Python实现字符串格式化的方法小结
Feb 20 Python
Python实现的文本对比报告生成工具示例
May 22 Python
pandas 透视表中文字段排序方法
Nov 16 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
python如何调用字典的key
May 25 Python
Python-opencv实现红绿两色识别操作
Jun 04 Python
Python读取xlsx数据生成图标代码实例
Aug 12 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 #Python
对Python+opencv将图片生成视频的实例详解
Jan 08 #Python
Python中的heapq模块源码详析
Jan 08 #Python
python使用PIL模块获取图片像素点的方法
Jan 08 #Python
python 获取图片分辨率的方法
Jan 08 #Python
Python 处理图片像素点的实例
Jan 08 #Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 #Python
You might like
php实现的MySQL通用查询程序
2007/03/11 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
浅析php数据类型转换
2014/01/09 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
Python Web编程之WSGI协议简介
2018/07/18 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Python面向对象之继承和多态用法分析
2019/06/08 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
培训主管岗位职责
2014/02/01 职场文书
社区文化建设方案
2014/05/02 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python