我和我的团队正在使用OpenCV(第2.4.2版)和QT(第4.8.4版)进行一个项目。我们正在QtCreator中进行开发。这是一个跨平台的项目,主要是寻找视频文件中的移动。
在Mac OSX上,视频文件将使用正常的cv::VideoCapture对象和界面正确打开,我们可以成功运行我们的程序。然而,在Windows上,文件不会打开,只是在程序退出时在QtCreator终端上抛出了这个错误:
warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:361)
但是,当我们将QtCreator设置为"Release"构建模式而不是"Debug"时,程序会按原样打开文件。
我和我的队友对这个错误进行了广泛的研究,但没有找到真正的解决方案。我们已经尝试安装编解码器,将opencv_ffmpeg.dll文件移动到.exe的工作目录,并使用opencv_fpmpeg.dll的位置(以及ffmpeg库的位置)修改路径。我们还确保了我们的视频是有效的,以及文件路径(相同的视频在MacOS上工作,视频文件实际上将通过Qt的Phonon模块在Windows中播放)。
类似问题:
VideoCapture OpenCV 2.4.2错误在窗口中
OpenCV 2.3 中的视频捕获问题
有什么想法可以引起这个问题吗?
不幸的是,我不能给出原因,但如果我们使用预编译的OpenCV dll,我们也经常会遇到这些问题。该错误是由于将ffmpeg连接到视频捕获而导致的。在我们的案例中,在相关计算机上重建OpenCV修复了错误。