[英]Opening video from file using OpenCV in Python
我正在尝试在 Python 2.7 的 Conda 环境中使用 OpenCV2。
我的安装与此问题中描述的基本相同。
我像这样检索了 OpenCV:
conda install --channel https://conda.anaconda.org/menpo opencv3
我可以导入库 cv2 并打印版本,即 3.1.0。 到现在为止还挺好。 我什至可以加载图像并显示它:
import cv2
img = cv2.imread('desertfloor.jpg')
cv2.imshow('foo',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
这工作得很好。 但是当我去加载同一目录中的视频时:
vid = cv2.VideoCapture('bbb.avi') # Big Buck Bunny
returnval,frame = vid.read()
print returnval
返回值是 False,它告诉我框架没有正确返回。 当我检查vid.isOpened()
,它也是 False 。 由于它不返回错误,因此很难判断发生了什么。 我听说 ffmpeg 如果安装不正确(不管这意味着什么)会导致一些问题,但我不知道这是否是这里发生的事情。
谁能告诉我为什么视频不能正常打开?
该错误很可能是由于缺少编解码器的原因。 VideoCapture 仅显示False ,以防缺少编解码器而不是显示实际错误。
如果使用预构建的二进制文件,则适用于Windows 中的Python 。 第三方 ffmpeg 不可用,因为它应该从源代码构建。 出于同样的原因,我提供了使用 OpenCV 兼容 API 构建和包装的预构建二进制文件的链接。
https://drive.google.com/open?id=0Bzxd9GL63enNMEpPV0lWRng1VW8
二进制文件是为 opencv-3.0.0 构建的,根据 OpenCV 版本重命名它。
For 32-bit architecture, OpenCV version X.Y.Z -> opencv_ffmpegXYZ.dll
For 64-bit architecture, OpenCV version X.Y.Z -> opencv_ffmpegXYZ_64.dll
复制这个重命名的文件,在c:\\Python27\\或安装 python 的任何地方(如果使用 Python 的任何开源发行版,如 Anaconda,则情况不同)。 在此之后 VideoCapture 应该可以正常工作。
希望这可以帮助 !!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.