OpenCV 2.4 VideoCapture 在 Windows 上无法运行
- 2025-01-16 08:38:00
- admin 原创
- 109
问题描述:
我正在使用 Python 绑定到 OpenCV 2.4 并按照以下说明进行安装。
我的问题与这个类似,但我需要 Windows 机器解决方案。
问题:当我尝试使用
cap = cv2.VideoCapture(0)
print cap.grab()
它工作正常,但是下面的代码
cap = cv2.VideoCapture(filename)
print cap.grab()
总是返回 False。
文件路径正确、绝对且没有空格。
我在两台装有 Windows XP 和 Windows 7 的机器上尝试过,结果类似。在 Linux (Ubuntu) 上,对我来说运行良好。
解决方案 1:
添加C:OpenCVrdpartyfmpeg
到 Windows PATH 环境变量或opencv_ffmpeg.dll
从该目录复制到C:Python27
PATH 中的目录。或者,使用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
解决方案 2:
复制opencv_ffmpeg.dll对我来说还不够 -当我使用 OpenCV 2.4.6 和 Python 2.7.5 时,我必须将其重命名为opencv_ffmpeg246.dll
解决方案 3:
我首先尝试复制,然后更改 Windows 的路径环境。直到我将 openCV 版本 2.4.5 和 python 2.7 的名称更改为 opencv_ffmpeg245.dll 后才起作用。(注意 **245.dll 来自 opencv 版本 2.4.5)
解决方案 4:
对于 64 位版本,将 opencv_ffmpeg_64.dll 重命名为 opencv_ffmpeg249_64.dll,将 249 更改为您的 opencv 版本。
解决方案 5:
对于 64 位环境下的 OpenCV 3.0.0,复制 opencv_ffmpeg_64.dll 并将其重命名为 opencv_ffmpeg300_64.dll。
还要将此路径添加到您的 PATH 环境变量,以使其与 Java 下的 OpenCV 一起工作。
解决方案 6:
更新:对于 OpenCV 2.4.9 仍然如此,复制所有文件,并将 dll 重命名为 opencv_ffmpeg249.dll
解决方案 7:
我在使用 python 2.7 和 opencv 2.4.10 时遇到了同样的问题。我将 opencv_ffmpeg2410_64.dll 文件从 C:\Applications\opencv\buildd\vc10\bin 复制到 python 路径(我的路径是 C:\Users\mohammad\Anaconda),问题就解决了!
解决方案 8:
起初我使用 windows8.1 32bit 和 opencv 2.4.10。使用由 Logicool C270 制作的
文件时遇到同样的问题。
我尝试使用数码相机 (Canon SX160) 制作的其他文件。因此我可以播放附加路径。
但是我无法播放。
因此我尝试使用 VLC (to ) 将格式 test1.wmv 更改为 test1a.mp4。
然后我可以播放。
我尝试在 Ubuntu 14.04 LTS 上播放,然后我可以轻松播放。windows8.1
和 Ubuntu 14.04 LTS 之间的默认 ffmpeg 二进制文件可能会有所不同。test1.wmv
test2.mov
`test2.mov`C:opencvuildx86c12in
test1.wmv.
Video for youtube HD
test1a.mp4.
test1.wmv
解决方案 9:
对于 anaconda 环境,从 C:\Python27\ 复制opencv_ffmpeg249_64.dll,根据你的 opencv 正确版本重命名其版本,然后将其粘贴到
C:\Users\KHALID\Anaconda2\Library\bin