Windows OpenCV VideoCapture 不会打开视频文件

Posted

技术标签:

【中文标题】Windows OpenCV VideoCapture 不会打开视频文件【英文标题】:Windows OpenCV VideoCapture Will Not Open Video File 【发布时间】:2013-01-22 09:47:22 【问题描述】:

我和我的团队正在使用 OpenCV (v. 2.4.2) 和 QT(v. 4.8.4) 开展一个项目。我们正在 QtCreator 中开发。这是一个跨平台项目,主​​要是在视频文件中寻找运动。

在 Mac OSX 上,视频文件将使用正常的 cv::VideoCapture 对象和接口正确打开,我们可以成功运行我们的程序。但是,在 Windows 上,文件不会打开,只是在程序退出时在 QtCreator 终端上抛出此错误:

warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:361)

但是,当我们将 QtCreator 设置为“发布”构建模式而不是“调试”时,程序会按应有的方式打开文件。

我和我的队友对此错误进行了广泛的研究,但没有找到真正的解决方案。 我们已经尝试安装编解码器,将opencv_ffmpeg.dll文件移动到.exe的工作目录,并用opencv_ffmpeg.dll的位置(以及ffmpeg库的位置)修改路径。我们也确保我们的视频是有效的,以及文件路径(相同的视频在 MacOS 上工作,视频文件实际上会通过 Qt 的 Phonon 模块在 Windows 中播放)。

类似问题:

VideoCapture OpenCV 2.4.2 error in windows

Problem with VideoCapture in OpenCV 2.3

关于什么可能导致此问题的任何想法?

【问题讨论】:

顺便说一下,我们使用的是 Windows 7 和 32 位版本的库。 【参考方案1】:

不幸的是,我无法给出原因,但如果我们使用预编译的 OpenCV dll,我们也经常会遇到这些问题。该错误是通过将 ffmpeg 连接到 videocapture 引起的。在我们的案例中,在相关计算机上重建 OpenCV 修复了该错误。

【讨论】:

是的,这是有道理的,我们也在使用预编译的 dll。当我们从源代码重新编译时,我们是否必须以特殊方式使用/包含 ffmpeg 进行编译,还是在 OpenCV 2.4 中自动完成? 我每次都使用默认设置。不知何故,编解码器连接正确,但我不知道如何excatly,也许opencv解析一些系统特定的文件夹或设置。 我希望这是错误的(因为I cannot get OpenCV to build locally)但它也可能是我问题的根源:***.com/q/19598664/575530

以上是关于Windows OpenCV VideoCapture 不会打开视频文件的主要内容,如果未能解决你的问题,请参考以下文章

windows7 opencv 都有哪些配置

windows10下安装opencv,cmake 时报错

windows下anaconda2.7怎么安装opencv

windows怎么查看opencv的版本

OpenCV 3.2.0、Visual Studio 2015、Windows 7

Windows 上 OpenCV 的 SFM 模块