OpenCV 2.4 VideoCapture无法在Windows上运行

Bih*_*aqo 47 python windows opencv

我正在使用安装了OpenCV 2.4的Python绑定以及以下说明.

我的问题与类似,但我需要Windows机器解决方案.

问题:当我尝试使用时

cap = cv2.VideoCapture(0)
print cap.grab()
Run Code Online (Sandbox Code Playgroud)

它工作正常,但以下代码

cap = cv2.VideoCapture(filename)
print cap.grab()
Run Code Online (Sandbox Code Playgroud)

总是返回False.

文件的路径是正确的,绝对的,没有空格.

我试用了两台装有Windows XP和Windows 7的机器,结果相似.在Linux(Ubuntu)上,它对我来说很好.

cgo*_*lke 71

添加C:\OpenCV\3rdparty\ffmpeg\到Windows PATH环境变量或opencv_ffmpeg.dll从该目录复制到PATH C:\Python27\中的目录.或者,使用http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv中的OpenCV二进制文件.

opencv_ffmpeg.dll也可能需要重命名文件.

对于OpenCV版本XYZ
opencv_ffmpeg.dll==>opencv_ffmpegXYZ.dll

对于64位OpenCV版本XYZ
opencv_ffmpeg.dll==>opencv_ffmpegXYZ_64.dll

  • 谢谢!它可以工作,但只有你从`C:\ OpenCV\3rdparty\ffmpeg \`复制_all_文件,而不仅仅是'opencv_ffmpeg.dll`. (4认同)
  • 查看以下所有答案.似乎需要将opencv版本X.YZ的`opencv_ffmpeg.dll`文件重命名为`opencv_ffmpegXYZ.dll`,如果使用64位版本,则需要重命名为`opencv_ffmpegXYZ_64.dll`. (2认同)
  • 使用OpenCV 2.4.10,将C:\ opencv\sources\3rdparty\ffmpeg添加到Windows路径并将opencv_ffmpeg.dll和opencv_ffmpeg_64.dll重命名为opencv_ffmpeg2410.dll和opencv_ffmpeg2410_64.dll它可以正常工作!谢谢:)我现在能够打开MJPEG视频文件 (2认同)

eme*_*mem 29

复制opencv_ffmpeg.dll对我来说还不够 - 当我使用OpenCV 2.4.6和Python 2.7.5时,我不得不将它重命名为opencv_ffmpeg246.dll


San*_*anD 10

我首先尝试复制,然后更改Windows的路径环境..直到我将openCv_ffmpeg245.dll的名称更改为openCV版本2.4.5和python 2.7后才能正常工作.(注意**245.dll来自opencv版本2.4.5)


小智 8

对于64位版本,将opencv_ffmpeg_64.dll重命名为opencv_ffmpeg249_64.dll将249更改为opencv版本.


小智 6

对于64位环境下的OpenCV 3.0.0,请复制opencv_ffmpeg_64.dll并将其重命名为opencv_ffmpeg300_64.dll.

还要将此路径添加到PATH环境变量中,以使其在Java下使用OpenCV.


bw4*_*4sz 5

更新:对于OpenCV 2.4.9仍然如此,复制所有文件,并重命名dll opencv_ffmpeg249.dll