使用VideoCapture(OpenCV)从图像创建视频

时间:2014-03-31 15:15:10

标签: c++ opencv video image-processing

我想将所有名为“pictures_1 / 2/3 / etc ......”的图像文件写入视频文件。

以下代码正在成功创建video.avi文件。但是,后者没有写入数据。

我知道视频捕捉opencv功能主要用于从视频中捕获数据,但我听说也可以将它用于图像(如上所述here(第一回答))

void video (void)
  {
  VideoCapture in_capture("/path/.../pictures_%d.jpg");
  Mat img;


  VideoWriter out_capture("path/.../video.avi", CV_FOURCC('M','J','P','G'), 30, Size(1989,1680));

  while (true)
  {
    in_capture >> img;
    if(img.empty())
        break;

    out_capture.write(img);
  }
}

1 个答案:

答案 0 :(得分:3)

未创建视频的可能原因。

  1. 确保您的图片已成功加载,只需在while循环中使用imshow()。

  2. 您的图像尺寸可以是1989X1680以外的任何尺寸,因此请将图像尺寸调整为指定尺寸,或将视频分辨率设置为输入图像尺寸。