我正在尝试在 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;
}
它正确打印参数并且捕获失败。