day7 读取视频错误

1.读取视频man.avi,

    报错。

  我的视频和文件在同一目录下.

#coding=utf-8
import numpy as np
import cv2
cap = cv2.VideoCapture(‘man.avi‘)
while(cap.isOpened()):
    # 从摄像头读取一帧,ret是表明成功与否
    ret, frame = cap.read()
    if ret:
        #处理得到的帧,这里将其翻转
        frame = cv2.flip(frame,0)
        cv2.imshow(‘frame‘,frame)
    else:
        break
    # 监听键盘,按下q键退出
    if cv2.waitKey(25) & 0xFF == ord(‘q‘):
        break
##释放
cap.release()
cv2.destroyAllWindows()
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file C:\build\master_winpack-bindings-win32-vc14-static\opencv\modules\highgui\src\window.cpp, line 325
Traceback (most recent call last):
  File "C:/PycharmProjects11/day5 ????/2 MOG2????????.py", line 18, in <module>
    cv2.imshow(‘frame‘,fgmask)
cv2.error: C:\build\master_winpack-bindings-win32-vc14-static\opencv\modules\highgui\src\window.cpp:325: error: (-215) size.width>0 && size.height>0 in function cv::imshow

2. 有些博客写的是绝对路径

#-*- coding:utf-8 -*-

import cv2
import numpy as np
from matplotlib import pyplot as plt

#1.读入avi对象
cap = cv2.VideoCapture(‘C:\\PycharmProjects11\\video\\people.avi‘)

#2.视频有多少秒
fps = cap.get(cv2.CAP_PROP_FPS)
print fps

#3.视频的width,height
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
        int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print size

    显示根本没有读取进来视频      

    无效

3.缺少ffmpeg.dll文件

  参考博客:http://blog.csdn.net/djcxym/article/details/52177220

  解决方案:(亲测可行),

   如果获取失败的话,可能是因为缺少ffmpeg的dll,

    搜索文件用Everything(推荐),下载地址:https://www.so.com/s?ie=utf-8&src=360se7_addr&q=Everything

    

    

    把opencv目录下的ffmepg.dell文件复制到python27目录下

      我的是:C:\opencv\build\bin到C:\Python27

         

4.重新执行程序成功

    

 

时间: 2024-10-28 20:46:37

day7 读取视频错误的相关文章

Jquery Mobile实例--利用优酷JSON接口读取视频数据

本文将介绍,如何利用JqueryMobile调用优酷API JSON接口显示视频数据. (1)注册用户接口. 首页,到 http://open.youku.com 注册一个账户,并通过验证.然后找到API接口 (http://open.youku.com/docs/tech_doc.html) 可以看到优酷提供不少API,本文将演示“通过视频关键词”接口. 点击进去后,会发现client_id和keyword是必填的,因此,未来构造的URL应该类似 https://openapi.youku.c

OpenCV3读取视频或摄像头

我们可以利用OpenCV读取视频文件或者摄像头的数据,将其保存为图像,以用于后期处理.下面的实例代码展示了简单的读取和显示操作: 1 // This is a demo introduces you to reading a video and camera 2 #include <iostream> 3 #include <string> 4 #include <sstream> 5 using namespace std; 6 7 // OpenCV include

FFMPEG系列课程(二)读取视频帧

再来介绍下如何读取视频帧,打开视频参考前面的文章,首先需要创建一个帧的存放对象 AVPacket pkt; memset(&pkt, 0, sizeof(AVPacket)); 再通过 int err = av_read_frame(ic, &pkt); 读取帧数据,其中ic是之前打开的视频流句柄.读取视频帧后要注意一点av_read_frame会自动给视频帧分配空间,返回值0表示成功. 可以通过 av_packet_unref(&pkt);删除packet的控制,注意这里删除的不

C#读取视频的宽度和高度等信息的方法

本文实例讲述了C#读取视频的宽度和高度等信息的方法.分享给大家供大家参考.具体实现方法如下: 读取方式:使用ffmpeg读取,所以需要先下载ffmpeg.网上资源有很多. 通过ffmpeg执行一条CMD命令可以读取出视频的帧高度和帧宽度信息. 运行效果如下图所示: 蓝线框中可以看到获取到的帧高度和帧宽度. 接下来的事情就简单了.构造一个命令,然后执行就ok.我并未测试过所有视频格式,估计常见的格式应该都支持. 执行命令的代码如下: 代码如下: /// <summary> /// 执行一条com

Linux OpenCV读取视频失败,cvCreateFileCapture失败的解决

背景: 最近想在嵌入式平台上开发QT+Opencv,无料PC机上编写的OpenCV程序老是打不开视频. 开始提示:OpenCV Error: Bad argument (Array should be CvMat or IplImage) in cvGetSize 但是没有用错.考虑到可能没有打开视频,以作为cvGetSize的参数. 以前程序运行没有问题,最近电脑进行了一些FFMPEG/ZLIB等的交叉编译,就不能运行了. 解决方法: 网上搜索,发现是因为ffmpeg没有编译到opencv里.

python_Opencv_读取视频_摄像头

目标 • 学会读取视频文件,显示视频,保存视频文件 • 学会从摄像头获取并显示视频 • 你将会学习到这些函数:cv2.VideoCapture(),cv2.VideoWrite()用摄像头捕获视频 使用摄像头来捕获一段视频,并把它转换成灰度视频显示出来. 首先应该创建一个VideoCapture 对象,参数可以是设备的索引号,或者是一个视频文件. 设备索引号就是在指定要使用的摄像头.一般的笔记本电脑都有内置摄像头.所以参数就是0.你可以通过设置成1或者其他的来选择别的摄像头. 之后,你就可以一帧

Opecv + Anaconda 读取视频(windows)

前言:之前一直用的是python(x,y),但是发现在使用opencv时容易出现一些pythonw.exe停止工作的问题.后来发现自己的操作系统是64位的,却安装了32位的python(x,y),虽然在此之前已经安装好theano.opencv等封装好的库,但是花了一下午时间没有解决之前出现的问题,治标不治本.因此,果断放弃治疗,选择Opecv + Anaconda .Anaconda Python 是 Python 科学技术包的合集,功能和 Python(x,y) 类似.它是新起之秀,已更新多

opencv学习之路(2)、读取视频,读取摄像头

一.介绍 视频读取本质上就是读取图像,因为视频是由一帧一帧图像组成的.1秒24帧基本就能流畅的读取视频了. ①读取视频有两种方法: A. VideoCapture cap; cap.open("1.avi"); B. VideoCapture cap("1.avi"); ②循环显示每一帧: while(1) { Mat frame; //定义Mat变量,用来存储每一帧 cap>>frame; //读取当前帧方法一 //cap.read(frame); /

也谈matlab中读取视频的一个重要函数mmreader

也谈matlab中读取视频的一个重要函数mmreader 在matlab中输入help mmreader来查阅一下该函数,有如下信息: MMREADER Create a multimedia reader object.     OBJ = MMREADER(FILENAME) constructs a multimedia reader object, OBJ, that    can read in video data from a multimedia file.  FILENAME