Opecv + Anaconda 读取视频(windows)
前言:之前一直用的是python(x,y),但是发现在使用opencv时容易出现一些pythonw.exe停止工作的问题。后来发现自己的操作系统是64位的,却安装了32位的python(x,y),虽然在此之前已经安装好theano、opencv等封装好的库,但是花了一下午时间没有解决之前出现的问题,治标不治本。因此,果断放弃治疗,选择Opecv + Anaconda 。Anaconda Python 是 Python 科学技术包的合集,功能和 Python(x,y) 类似。它是新起之秀,已更新多次了。包管理使用 conda,GUI基于 PySide,所有的包基本上都是最新版,没有PyQt和wxpython等,容量适中,但该有的科学计算包都有:numpy,sicpy,matplotlib,spyder等,是完全免费的企业级的Python发行大规模数据处理、预测分析和科学计算工具。
废话不多说啦~直接上步骤吧
1、下载安装 Anaconda 对应版本。官网链接https://www.continuum.io/downloads
2、网管下载 opencv 对应版本(注:python2.7版本的只能对用opencv2.4版本才可用)。官网链接:http://opencv.org/,安装好后做如下两个操作
第一步:将opencv安装目录D:\Program Files\opencv\build\python\2.7\x64下的cv2.pyd复制到Anaconda安装目录C:\Anaconda2\Lib\site-packages下。
第二步:将D:\Program Files\opencv\sources\3rdparty\ffmpeg下的opencv_ffmpeg_64.dll复制到C:\Anaconda2下,并改名为opencv_ffmpeg2413_64.dll,其中2413指代的是opencv的版本号,我下载的为2.4.13版本。
读取视频代码如下,其中,第二步主要是避免了读取视频失败的问题:
1 # -*- coding: utf-8 -*- 2 import cv2 3 4 cap = cv2.VideoCapture('01.avi') 5 6 while (cap.isOpened()): 7 ret,frame = cap.read() 8 cv2.imshow('video test',frame) 9 key = cv2.waitKey(10) 10 if key == 27: 11 break 12 if key == ord(' '): 13 cv2.imwrite('vid_result.jpg',frame)
cv2.imshow('video test',frame)
cv2.error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow