OPENCV,无法打开类VideoWriter

时间:2012-03-12 12:07:08

标签: video ubuntu opencv

我是新手,开始在ubuntu 10.4上使用OpenCV。我正试图从相机捕获视频并将该视频写在avi文件上,代码是下一个:

#include "opencv2/opencv.hpp"
#include <iostream>
#include <vector>
#include <stdio.h>
#include <opencv2/highgui/highgui.hpp> 

using namespace cv;

int main(int, char**)
{
    VideoCapture cap(0); // open the default camera
    if(!cap.isOpened())  // check if we succeeded
        return -1;

    namedWindow("cam1",CV_WINDOW_AUTOSIZE);
    Mat frame;

    VideoWriter outputVideo("lalala.avi", CV_FOURCC('D','I','V','X') , 30, Size(720, 480) , true); // or frame.size()
    outputVideo.open("lalala.avi", CV_FOURCC('D','I','V','X') ,  30, Size(720, 480), true) ;    // or frame.size()  

    if( !outputVideo.isOpened() ) {
      printf("VideoWriter failed to open!\n"); 
    }

    for(;;)
    {       
      cap >> frame; // get a new frame from camera                        

      imshow("cam1", frame);

      outputVideo.write(frame); // or outputVideo << frame;

      if(waitKey(30) >= 0) break;
    }

    return 0;
}

我的问题是我无法打开VideoWriter类,但我从相机中获得了良好的帧。我尝试过编解码器和大小的不同值,但没有任何变化。

知道程序为什么不初始化VideoWriter类?

1 个答案:

答案 0 :(得分:0)

您无权编写该文件,或者您正在使用未包含在您的openCV版本中的编解码器。

要下载并安装完整的opencv(包括ffmpeg),请参阅http://opencv.willowgarage.com/wiki/InstallGuide%20%3A%20Debian