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 不会打开视频文件的主要内容,如果未能解决你的问题,请参考以下文章