会不会是OpenCV2.4 highgui中存在用于从 Windows 中的视频中捕获帧的错误?
我安装了两个预编译库,我编译的库,我可以完美地编译所有东西,如果我可以运行我的程序
它们是基于图像的。问题仅适用于视频。OpenCV 在这个函数中总是崩溃:
virtual IplImage* retrieveFrame(int)
{
unsigned char* data = 0;
int step=0, width=0, height=0, cn=0;
if(!ffmpegCapture ||
!icvRetrieveFrame_FFMPEG_p(ffmpegCapture,&data,&step,&width,&height,&cn)) <-------CRASHES HERE
return 0;
cvInitImageHeader(&frame, cvSize(width, height), 8, cn);
cvSetData(&frame, data, step);
return &frame;
}
这是在cap_ffmpeg.cpp类中,由VideoCapture调用。
我尝试了 2.4.2 和 2.4.9 版本。我的程序正在使用 opencv2
更多信息
Windows 7的
使用 cmake 构建项目(很重要,因为 cmake 可能没有构建/找到正确的编解码器)
视觉工作室 9 2008
OpenCV 2.4.2
编辑
看起来它实际上是一个错误,那么,我该如何解决这个问题并更改我的代码以能够读取 avi 文件?