一个接一个地打开图像

时间:2014-03-05 12:43:23

标签: c++ image opencv video

我根据时间戳记在系统上保存了一系列图像。

例如,图像命名为:

20140305180348.jpg

20140305180349.jpg

我有100个这样的图像,我想一个接一个地使用OpenCV打开它们。我尝试过使用cvCapturefromFile()但是使用它我一次只能打开一张图片。我想缝合/加入它们以便我可以制作视频。

对不起,我不能发布代码,因为我不被允许。我该怎么办?

2 个答案:

答案 0 :(得分:2)

在OpenCV中,要将图像写入视频,您可以使用VideoWriter(并在循环中执行以读取图像序列):

VideoWriter outputVideo; // Open the output

// ... set video properties like FPS

if (!outputVideo.isOpened())
{
    cout  << "Could not open the output video for write: " << source << endl;
    return -1;
}

for(...)
{
   // read your frame, e.g. to Mat img

   // outputVideo.write(img); //save or
   outputVideo << img;
}

cout << "Finished writing" << endl;

查看here了解详情。

答案 1 :(得分:1)

在此tutorial中是一个如何编写视频的示例。只需在最后修改for - 循环。

伪代码:

open videocontainer
int i=0;
while(i<100){
    Mat img = imread("path"+to_string(i)+".jpg");
    outputvideo << img;
}
close videocontainer