这看起来像是与特殊版本的 OpenCV 相关的问题。然而,当我搜索几乎所有地方,特别是 StackOverFlow 时,没有找到合理的答案。
我正在尝试使用 VideoCapture 句柄在 OpenCV 中加载带有 ffmpeg 的视频文件。如果文件是 OpenCV samples 目录中的 tree.avi 示例影片,则会加载该文件,但每个其他 avi 文件都会导致以下错误:
warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:526)
hpp 文件似乎是检测到错误的文件,而不是包含错误的文件。我只能假设 ffmpeg 与 OpenCV 不兼容,或者我应该开始寻找另一个库来打开视频文件,或者我应该假设 OpenCV 只适用于它自己的样本。如果有人有任何想法,请分享。我是否应该使用另一个库来打开所有不同类型的文件、带有编码的格式而不是 OpenCV?
最佳答案
OpenCV 似乎具有平台依赖性,最好为每个平台编译,总结一下我为解决问题所做的所有搜索。我遇到了 VideoCapture 的问题,它不是来自编解码器,而是来自 OpenCV 本身。我在使用 OpenCV 时遇到了类似的问题,以至于它甚至无法打开 JPG 文件。通过重新编译,一切都为我解决了。
对于那些不知道如何为 Visual Studio 编译 OpenCV 的人,这里有一个很好的教程: Installing OpenCV 2.4.3 in Visual C++ 2010 Express
关于c++ - OpenCV 视频捕获未加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904443/