我正在尝试在opencv中打开.avi文件。当我运行代码时,我没有收到任何错误,但视频无法播放。我四处搜索,我猜它需要安装ffmpeg。所以我用它来安装它 sudo apt-get install libavformat-dev libavcodec-dev libavfilter-dev libswscale-dev 它仍然无法正常工作。也许编译器需要知道在哪里找到ffmpeg。我正在使用gcc编译器。 谢谢。
@Paul R:我刚刚复制了Learning Opencv教科书中的代码,所以没有包括它。代码:
#include<stdio.h>
#include<highgui.h>
int main( int argc, char** argv ) {
cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture( argv[1] );
IplImage* frame;
while(1) {
printf("Inside");
frame = cvQueryFrame( capture );
if( !frame ) break;
cvShowImage( "Example2", frame );
char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "Example2" );
}
@ praks411:
printf("%s",argv[1]);
CvCapture* capture = cvCreateFileCapture( argv[1] );
if(!capture)
{
printf("failed\n");
return -1;
}
它正确打印参数并且捕获失败。
答案 0 :(得分:1)
我认为安装opencv后安装ffmpeg可能也是安装问题,为什么不按照此链接在ubuntu上正确安装。
https://help.ubuntu.com/community/OpenCV
http://opencvstart.blogspot.it/2012/12/install-opencv-in-ubuntu-1204.html
如果你能够创建正确的捕获指针并且还尝试打印argv [1]以查看你是否获得了正确的文件名,我还建议检查cvCapture。