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 tkinter模块中类继承的三种方式分析
Aug 08 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 Python
pyqt5 实现工具栏文字图片同时显示
Jun 13 Python
详解用python计算阶乘的几种方法
Aug 14 Python
Django中modelform组件实例用法总结
Feb 10 Python
python 实现两个线程交替执行
May 02 Python
简单了解Python变量作用域正确使用方法
Jun 12 Python
解决TensorFlow调用Keras库函数存在的问题
Jul 06 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
python 常见的反爬虫策略
Sep 27 Python
python3实现名片管理系统(控制台版)
Nov 29 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
支持oicq头像的留言簿(一)
2006/10/09 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
windows7下php开发环境搭建图文教程
2015/01/06 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
splice slice区别
2006/10/09 Javascript
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
Python实现分割文件及合并文件的方法
2015/07/10 Python
python向图片里添加文字
2019/11/26 Python
怎么快速自学python
2020/06/22 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
自主招生自荐书
2013/11/29 职场文书
会议活动邀请函
2014/01/27 职场文书
幼师自我鉴定
2014/02/01 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
应届大学生求职信
2014/07/20 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
Python socket如何解析HTTP请求内容
2022/02/12 Python