python使用方法视频-python读取视频流提取视频帧的两种方法
本文实例为大家分享了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读取视频流提取视频帧的两种方法相关推荐
- 用python打开视频_python读取视频流提取视频帧的两种方法
本文实例为大家分享了python读取视频流提取视频帧的具体代码,供大家参考,具体内容如下 方法一:通过imageio库和skimage库 1. 安装环境: pip install imageio pi ...
- matlab 图像转视频教程,Matlab制作视频并转换成gif动态图的两种方法
一.第一个方法比较简单,就是使用movie(f)直接取生成AVI视频文件. %% f(t)-->f(4*t+12) 并且验证%% function Signal_change() tic%记录程 ...
- php imagick 取得psd缩略图,PHP利用imagick读取PDF生成png缩略图的两种方法
PHP利用imagick读取PDF生成png缩略图的两种方法 发表于2019-04-24 06:08| 次阅读| 来源网络整理| 作者session 摘要:PHP利用imagick读取PDF生成png ...
- python获取剪切板图片_python 获取剪切板内容的两种方法
第一种 # -*- coding: utf-8 -*- # @Time : 2020/3/16 21:26 # @File : get_text_from_cupboard_13.py # @Auth ...
- python怎么在图片上写字_Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- 怎样在python的turtle中输入文字_Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- python统计汉字个数是_python统计中文字符数量的两种方法
方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...
- python怎么统计多少字符_python统计中文字符数量的两种方法
方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...
- python实现人脸口罩检测(基于opencv和深度学习两种方法)
人脸口罩检测GUI系统(基于opencv和深度学习两种方法对比) 由于疫情的影响,人脸口罩检测系统的开发成为很多人争相开发的一种算法.很多公司或者个人都开源了他们很多的代码或者SDK.大家在GitHu ...
最新文章
- vim 多文件编辑【超实用】
- forfiles命令批量删除N天前文件
- python语法速成方法_30分钟学完Python基础语法
- 探索 .NET Core 依赖注入的 IServiceCollection
- 三公里社区争夺战—2021年社区团购研究报告
- 电脑管家怎么整理桌面图标?
- oracle数据tsql,Tsql 下建立oracle数据库步骤
- 【commons-beanutils专题】003- PropertyUtils 专题
- ApiPost 测试工具
- 什么是透明背景格式logo?Logo白底变透明工具测评
- 如何将Mac的磁盘空间从0G清理出100G?
- 京东商城API 商品详情接口
- 【雅思大作文考官范文】——第九篇:‘CCTV essay’
- 力扣刷题 DAY_67 回溯
- C++关于引用的分析
- C#调用obs studio 二次开发 源码分析 编译
- 自然人代开是什么政策,怎么操作呢?
- 网络安全之盗号木马原理
- 深度学习用于医学预后-第二课第四周1-4节-使用线性和基于树的模型构建风险评估模型
- Navicat Premium 历史版本下载地址(官方)
热门文章
- 对实施运维的一点心得体会
- python四个带 key 参数的函数(max、min、map、filter)
- MySql通用二进制版本在Linux(Ubuntu)下安装与开启服务
- ExtJS 4.2 第一个程序
- SetConsoleCtrlHandler 处理控制台消息
- MyBatis 通用Mapper 入门教程
- 这段时间没有好好的总结了
- 使用require.js和backbone实现简单单页应用实践
- .Net 之匿名类(AnonymousType)(转载)
- The Tower(HDU6559+2018年吉林站+数学)