python读取视频流提取视频帧的两种方法


Posted in Python onOctober 22, 2020

本文实例为大家分享了python读取视频流提取视频帧的具体代码,供大家参考,具体内容如下

方法一:通过imageio库和skimage库

1. 安装环境:

pip install imageio

pip install skimage

这时候会报错Please install the `scikit-image` package (instead of `skimage`)

所以按照提示操作即可:

pip install scikit-image

环境安装成功。

2.通过python安装ffmpge(用来解码视频流)

import imageio

imageio.plugins.ffmpeg.download()

这时候会提示:

Imageio: 'ffmpeg.linux64' was not found on your computer; downloading it now.Try 1. Download from https://github.com/imageio/imageio-binaries/raw/master/ffmpeg/ffmpeg.linux64 (27.2 MB)Downloading: 8192/28549024 bytes

开始进行下载ffmpeg

注意:下载这个文件很容易断线,所有可以先拿下载工具下载后,再放到下面路径,然后系统就会认为文件已经下载完了。
文件路径: /root/.imageio/ffmpeg/ffmpeg.linux6

如果不断线的话,文件就会存放在上述路径中。

下次执行就可以直接读取视频流了。

3. 使用imageio库提取视频帧

imageio官方文档地址

用法:

# coding:utf-8 
import pylab 
import imageio 
#注释的代码执行一次就好,以后都会默认下载完成 
#imageio.plugins.ffmpeg.download() 
import skimage 
import numpy as np 
 
#视频的绝对路径 
filename = 'video/01_01.wmv' 
#可以选择解码工具 
vid = imageio.get_reader(filename, 'ffmpeg') 
for num,im in enumerate(vid): 
 #image的类型是mageio.core.util.Image可用下面这一注释行转换为arrary 
 print im.mean() 
 image = skimage.img_as_float(im).astype(np.float64) 
 fig = pylab.figure() 
 fig.suptitle('image #{}'.format(num), fontsize=20) 
 pylab.imshow(im) 
pylab.show()

方式二:通过cv2库

用法:

import cv2 
video_full_path="video/01_01.wmv" 
cap = cv2.VideoCapture(video_full_path) 
print cap.isOpened() 
frame_count = 1 
success = True 
while(success): 
 success, frame = cap.read() 
 print 'Read a new frame: ', success 
 
 params = [] 
 #params.append(cv.CV_IMWRITE_PXM_BINARY) 
 params.append(1) 
 cv2.imwrite("video" + "_%d.jpg" % frame_count, frame, params) 
 
 frame_count = frame_count + 1 
 
cap.release()

存在问题:cap.isOpened()总是输出false,表示打开失败。没办法读取,问题一直没有解决,如果有哪位大神解决还往告知!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python函数参数*args**kwargs用法实例
Dec 04 Python
Django中更新多个对象数据与删除对象的方法
Jul 17 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
浅谈pandas用groupby后对层级索引levels的处理方法
Nov 06 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
python使用tomorrow实现多线程的例子
Jul 20 Python
python有序查找算法 二分法实例解析
Feb 18 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
20行Python代码实现视频字符化功能
Apr 13 Python
Python读取xlsx数据生成图标代码实例
Aug 12 Python
python glom模块的使用简介
Apr 13 Python
Python连续赋值需要注意的一些问题
Jun 03 Python
python读取和保存视频文件
Apr 16 #Python
Python读取视频的两种方法(imageio和cv2)
Apr 15 #Python
python2.7实现FTP文件下载功能
Apr 15 #Python
python实现多线程网页下载器
Apr 15 #Python
Python实现定时精度可调节的定时器
Apr 15 #Python
Python编写一个优美的下载器
Apr 15 #Python
python实现音乐下载器
Apr 15 #Python
You might like
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
$()JS小技巧
2007/07/21 Javascript
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
javascript Array对象基础知识小结
2010/11/16 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
javascript常用功能汇总
2015/07/05 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
js继承实现方法详解
2016/12/16 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
详解numpy的argmax的具体使用
2019/05/27 Python
python中常见错误及解决方法
2020/06/21 Python
PyCharm中关于安装第三方包的三个建议
2020/09/17 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
应用服务器有那些
2012/01/19 面试题
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
触摸春天教学反思
2014/02/03 职场文书
财务工作失职检讨书
2014/11/21 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
高中运动会广播稿
2015/08/19 职场文书
创业计划书之宠物店
2019/09/19 职场文书