Python OpenCV实现视频分帧


Posted in Python onJune 01, 2019

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

# 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实现文件分组复制到不同目录的例子
Jun 04 Python
python之import机制详解
Jul 03 Python
python实现linux下使用xcopy的方法
Jun 28 Python
Python3使用requests发闪存的方法
May 11 Python
windows下ipython的安装与使用详解
Oct 20 Python
pandas筛选某列出现编码错误的解决方法
Nov 07 Python
利用setuptools打包python程序的方法步骤
Jan 18 Python
python扫描线填充算法详解
Feb 19 Python
Python各种扩展名区别点整理
Feb 27 Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 Python
Anaconda安装pytorch及配置PyCharm 2021环境
Jun 04 Python
python的set处理二维数组转一维数组的方法示例
May 31 #Python
python整合ffmpeg实现视频文件的批量转换
May 31 #Python
python自动发邮件总结及实例说明【推荐】
May 31 #Python
python实现视频分帧效果
May 31 #Python
使用Python实现跳帧截取视频帧
May 31 #Python
python tools实现视频的每一帧提取并保存
Mar 20 #Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 #Python
You might like
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
Django 批量插入数据的实现方法
2020/01/12 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
装潢设计实习自我鉴定
2013/09/19 职场文书
中学生运动会入场词
2014/02/12 职场文书
安全生产责任书范本
2014/04/15 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
2015年董事长秘书工作总结
2015/07/23 职场文书