c - OpenCV 错误(cvCreateFileCapture())

标签 c video opencv avi

我正在用 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/

相关文章:

将图像和音频加入结果视频

swift - 在 swift cocoa 中将 m3u8 视频保存到磁盘

OpenCV-将mat图像类型从CV_8UC4转换为CV_16UC3

c++ - Opencv 在 Linux 上没有检测到火线网络摄像头

c - 地址未堆叠、分配或(最近)释放

c - 将正在运行的程序的输出通过管道传输到 xargs

c - 使用自动工具时如何禁用指定文件的指定警告?

javascript - 如何避免在wavesurfer js中创建多个区域

android - 如何使用 javacv/opencv 在 android 中将音频与视频集成?

c - 为什么我们在调用 bind() 时将 sockaddr_in 转换为 sockaddr?