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中isalnum()方法的使用
May 18 Python
Python正则表达式实现截取成对括号的方法
Jan 06 Python
Python有序字典简单实现方法示例
Sep 28 Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 Python
python 利用for循环 保存多个图像或者文件的实例
Nov 09 Python
celery4+django2定时任务的实现代码
Dec 23 Python
pytorch使用指定GPU训练的实例
Aug 19 Python
Linux下通过python获取本机ip方法示例
Sep 06 Python
Pytorch转onnx、torchscript方式
May 25 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
Python实现快速大文件比较代码解析
Sep 04 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
Dec 05 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 异常处理实现代码
2009/03/10 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
小型js框架veryide.librar源代码
2009/03/05 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
Three.js基础学习教程
2017/11/16 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
Linux Centos7.2下安装nodejs&npm配置全局路径的教程
2018/05/15 NodeJs
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
Django 前后台的数据传递的方法
2017/08/08 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
浅谈Python中的字符串
2020/06/10 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
优秀应届毕业生自荐信
2013/11/16 职场文书
计算机专业推荐信范文
2013/11/27 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
廉洁校园实施方案
2014/05/25 职场文书
为什么你写的height:100%不起作用
2021/05/10 HTML / CSS
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python