在本文中,我们将解决 Windows 系统上 OpenCV 2.4 用户遇到的常见问题。具体来说,我们将深入研究 VideoCapture 无法从视频文件中捕获帧的问题。
在 Windows 上使用 OpenCV 2.4 时,以下代码按预期工作:
<code class="python">cap = cv2.VideoCapture(0) print(cap.grab())</code>
但是,当尝试使用以下方法从视频文件中捕获帧时code:
<code class="python">cap = cv2.VideoCapture(filename) print(cap.grab())</code>
即使文件的路径正确且有效,它始终返回 False。在 Windows XP 和 Windows 7 计算机上都观察到此问题,而在 Linux (Ubuntu) 上,相同的代码可以完美运行。
要解决此问题,您需要确保Windows 上的 OpenCV 可以使用视频解码所需的依赖项。这可以通过将以下目录添加到 Windows PATH 环境变量来实现:
C:\OpenCVrdparty\ffmpeg\
或者,您可以手动将 opencv_ffmpeg.dll 文件从指定目录复制到以下位置之一:
此外,可能需要根据您的OpenCV版本和操作系统(64位或32位)重命名opencv_ffmpeg.dll文件。以下是重命名指南:
对于 OpenCV 版本 X.Y.Z
对于 64 位 OpenCV 版本 X.Y.Z
按照以下步骤,您可以使 OpenCV 2.4 在 Windows 系统上成功捕获和处理视频文件中的帧。
以上是为什么我无法在 Windows 上使用 OpenCV 2.4 从视频文件中检索帧?的详细内容。更多信息请关注PHP中文网其他相关文章!