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 set集合类型操作总结
Nov 07 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
浅析python参数的知识点
Dec 10 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
Python之修改图片像素值的方法
Jul 03 Python
python 用所有标点符号分隔句子的示例
Jul 15 Python
使用selenium和pyquery爬取京东商品列表过程解析
Aug 15 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 Python
python:HDF和CSV存储优劣对比分析
Jun 08 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 header 跳转
2013/06/17 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
php实现可逆加密的方法
2015/08/11 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
jquery tools 系列 scrollable学习
2009/09/06 Javascript
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
Python装饰器的函数式编程详解
2015/02/27 Python
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
python write无法写入文件的解决方法
2019/01/23 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
Python如何输出百分比
2020/07/31 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
外贸英语毕业生自荐信
2013/11/14 职场文书
教育学专业实习生的自我鉴定
2013/11/26 职场文书
小学教师寄语大全
2014/04/03 职场文书
药品开票员岗位职责
2015/04/15 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
《海上日出》教学反思
2016/02/23 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
详解MySQL的半同步
2021/04/22 MySQL