cv2.Videocapture()在使用网络摄像头时工作正常但在尝试从硬盘驱动器读取时显示错误cap.isOpened()返回false
import cv2
import numpy as np
background=cv2.imread('background.png')
cap = cv2.VideoCapture('car video.mp4')
cap.open('car video.mp4')
print cap.isOpened()
while 1:
ret,img=cap.read()
cv2.imshow('a',img)
print img.shape
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
它显示了这个错误
cv2.imshow('a',img)
error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:266: error: (-215) size.width>0 && size.height>0 in function cv::imshow
Run Code Online (Sandbox Code Playgroud)
我的opencv版本3.0.0,python 2.7,windows10 32位
您需要 ffmpeg 编解码器才能阅读视频。
在 anaconda3 虚拟环境中使用 opencv 时遇到了同样的错误。我检查了当前 opencv 版本的构建信息,ffmpeg 被标记为"no"。
为了解决这个
使用 conda-forge 通道安装最新的 ffmpeg (conda install -c conda-forge ffmpeg)
名称版本构建频道
ffmpeg 4.0.2 ha6a6e2b_0 conda-forge
然后使用 conda-forge 通道再次安装 opencv (conda install -c conda-forge opencv)
名称版本构建频道
opencv 3.4.1 py36_blas_openblash829a850_201 [blas_openblas] conda-forge
执行此操作后重新启动 python 控制台并导入 cv2。
归档时间: |
|
查看次数: |
14658 次 |
最近记录: |