我正在尝试以 OpenCV 2.1、VS2008 标准读取 avi 文件 2 天,但没有运气。我经常在程序控制台中收到此消息:
编译器未对齐堆栈变量。Libavcodec 已被错误编译,可能非常缓慢或崩溃。这不是 libavcodec 中的错误,而是编译器中的错误。您可以尝试使用 gcc >= 4.2 重新编译。不要向 FFmpeg 开发人员报告崩溃。
..我得到的帧速率是 0.5fps 播放。我尝试了各种 AVI 和 MPEG 文件,结果仍然相同。此外,包含使用网络摄像头的示例非常慢。我在使用 OpenCV 1.1 时没有遇到这样的问题
我已经尝试解决此问题的事情:
- 重新编译整个库
- 从 SVN 更新库并重新编译
- 尝试了各种版本的 libavcodec.a 文件
我用来读取文件的代码如下所示:
CvCapture* input_video = cvCreateFileCapture("c:\\data\test.avi");
// ...
while (true) {
// ...
frame = cvQueryFrame( input_video );
cvShowImage("test", frame);
// ...
}
谁能帮我?这让我发疯:(