我正在用 C 语言使用 OpenCV。我打算在窗口上运行视频(并且在使用我制作的算法显示帧之前对帧进行一些图像处理)。但是以下行:
CvCapture* capture = cvCreateFileCapture("eve.avi");
给我错误:
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported
array type) in cvGetMat, file /build/buildd/opencv-2.3.1/modules/core/src/array.cpp,
line 2482 terminate called after throwing an instance of 'cv::Exception'
what(): /build/buildd/opencv-2.3.1/modules/core/src/array.cpp:2482: error: (-206)
Unrecognized or unsupported array type in function cvGetMat
我尝试了各种我发现的 .avi 文件,并且都产生了这个。使用 Ubuntu 12.10。
最佳答案
尝试安装 ffmpeg 库:
sudo apt-get install libavformat-dev libswscale-dev
如果它仍然损坏,请尝试使用已知有效的示例视频(我会尝试同时找到一个并在找到时编辑这篇文章)。
编辑:试试这个。
http://www.technical-recipes.com/2011/displaying-avi-video-using-opencv/
关于c - OpenCV 错误(cvCreateFileCapture()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15304737/