本文实例为大家分享了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库提取视频帧

用法:

# 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读取视频流提取视频帧的两种方法相关推荐

  1. 用python打开视频_python读取视频流提取视频帧的两种方法

    本文实例为大家分享了python读取视频流提取视频帧的具体代码,供大家参考,具体内容如下 方法一:通过imageio库和skimage库 1. 安装环境: pip install imageio pi ...

  2. matlab 图像转视频教程,Matlab制作视频并转换成gif动态图的两种方法

    一.第一个方法比较简单,就是使用movie(f)直接取生成AVI视频文件. %% f(t)-->f(4*t+12) 并且验证%% function Signal_change() tic%记录程 ...

  3. php imagick 取得psd缩略图,PHP利用imagick读取PDF生成png缩略图的两种方法

    PHP利用imagick读取PDF生成png缩略图的两种方法 发表于2019-04-24 06:08| 次阅读| 来源网络整理| 作者session 摘要:PHP利用imagick读取PDF生成png ...

  4. python获取剪切板图片_python 获取剪切板内容的两种方法

    第一种 # -*- coding: utf-8 -*- # @Time : 2020/3/16 21:26 # @File : get_text_from_cupboard_13.py # @Auth ...

  5. python怎么在图片上写字_Python在图片中添加文字的两种方法

    本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...

  6. 怎样在python的turtle中输入文字_Python在图片中添加文字的两种方法

    本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...

  7. python统计汉字个数是_python统计中文字符数量的两种方法

    方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...

  8. python怎么统计多少字符_python统计中文字符数量的两种方法

    方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...

  9. python实现人脸口罩检测(基于opencv和深度学习两种方法)

    人脸口罩检测GUI系统(基于opencv和深度学习两种方法对比) 由于疫情的影响,人脸口罩检测系统的开发成为很多人争相开发的一种算法.很多公司或者个人都开源了他们很多的代码或者SDK.大家在GitHu ...

最新文章

  1. vim 多文件编辑【超实用】
  2. forfiles命令批量删除N天前文件
  3. python语法速成方法_30分钟学完Python基础语法
  4. 探索 .NET Core 依赖注入的 IServiceCollection
  5. 三公里社区争夺战—2021年社区团购研究报告
  6. 电脑管家怎么整理桌面图标?
  7. oracle数据tsql,Tsql 下建立oracle数据库步骤
  8. 【commons-beanutils专题】003- PropertyUtils 专题
  9. ApiPost 测试工具
  10. 什么是透明背景格式logo?Logo白底变透明工具测评
  11. 如何将Mac的磁盘空间从0G清理出100G?
  12. 京东商城API 商品详情接口
  13. 【雅思大作文考官范文】——第九篇:‘CCTV essay’
  14. 力扣刷题 DAY_67 回溯
  15. C++关于引用的分析
  16. C#调用obs studio 二次开发 源码分析 编译
  17. 自然人代开是什么政策,怎么操作呢?
  18. 网络安全之盗号木马原理
  19. 深度学习用于医学预后-第二课第四周1-4节-使用线性和基于树的模型构建风险评估模型
  20. Navicat Premium 历史版本下载地址(官方)

热门文章

  1. 对实施运维的一点心得体会
  2. python四个带 key 参数的函数(max、min、map、filter)
  3. MySql通用二进制版本在Linux(Ubuntu)下安装与开启服务
  4. ExtJS 4.2 第一个程序
  5. SetConsoleCtrlHandler 处理控制台消息
  6. MyBatis 通用Mapper 入门教程
  7. 这段时间没有好好的总结了
  8. 使用require.js和backbone实现简单单页应用实践
  9. .Net 之匿名类(AnonymousType)(转载)
  10. The Tower(HDU6559+2018年吉林站+数学)