C++ cvQueryFrame()在文件结束前返回NULL
我正试图用计算机处理大型AVI文件(约61000帧,505MB) 使用C++ cvQueryFrame()在文件结束前返回NULL,c++,c,opencv,C++,C,Opencv,我正试图用计算机处理大型AVI文件(约61000帧,505MB) 使用cvCaptureFromAVI()和cvQueryFrame()打开CV 但是,cvQueryFrame()在到达最后一帧之前返回一个NULL指针 阿维 long int numframe = 6000; while (numframe < 67000) { frame = cvQueryFrame( capture ); if (! frame) { fprin
cvCaptureFromAVI()
和cvQueryFrame()
打开CV
但是,cvQueryFrame()
在到达最后一帧之前返回一个NULL
指针
阿维
long int numframe = 6000;
while (numframe < 67000)
{
frame = cvQueryFrame( capture );
if (! frame)
{
fprintf(stderr, "could not query the frame %ld.\n", numframe);
break;
}
char namefile[250];
sprintf( namefile, "/media/6E86F8CB03A4DFA4/image-sequence/%ld.jpg", numframe );
cvSaveImage( namefile, frame ); // save frame as a image
numframe++;
}
long int numframe=6000;
而(numframe<67000)
{
帧=cvQueryFrame(捕获);
如果(!帧)
{
fprintf(stderr,“无法查询帧%ld.\n”,numframe);
打破
}
字符名称文件[250];
sprintf(名称文件,“/media/6E86F8CB03A4DFA4/image sequence/%ld.jpg”,numframe);
cvSaveImage(名称文件,帧);//将帧另存为图像
numframe++;
}
有没有其他人也遇到过同样的问题并找到了解决办法?
有什么我可以做的吗?很可能您遇到了一个FFMPEG集成错误。看起来很像你的问题 您使用的是什么版本的OpenCV 我建议你:
我正在使用OpenCV 2.3.1。这与报告的问题完全相同。我将尝试OpenCV 2.2,因为他在bug报告中说,他在2.3、2.3.1和2.3.2中遇到了问题,但在OpenCV 2.2中没有。谢谢你的回答!