我正在尝试在 Mandriva Linux 2009.1 下使用 openCV 保存视频文件。不幸的是 cvCreateVideoWriter 总是返回 null 尽管我可以看到和修改 mpeg 文件,换句话说 cvCaptureFromCam、cvCaptureFromAvi、cvRetrieveFrame 正在工作。
我尝试了本教程和此编解码器页面中所有可能的编解码器。我还尝试将 0 用于未压缩的 avi,将 -1 用于fourcc 参数中的选择框,但没有弹出任何选择,也没有任何反应。我还将 isColor 修改为 0。
我在工作目录中也有写权限。
这是相关的代码片段:
CvVideoWriter *writer = 0;
int isColor = 1;
int fps = 25;
int frameW = 640;
int frameH = 480;
if( argc == 1 || (argc == 2 && strlen(argv[1]) == 1 && isdigit(argv[1][0])))
capture = cvCaptureFromCAM( argc == 2 ? argv[1][0] - '0' : 0 );
else if( argc == 2 ) {
printf("argc == 2 :%s:\n", argv[1] );
capture = cvCaptureFromFile( argv[1] );
}
cvInitSystem(argc,argv);
writer = cvCreateVideoWriter("out.avi",CV_FOURCC('I','Y','U','V'),fps,cvSize(frameW,frameH),isColor);
可能是什么问题呢?