我正在尝试从我拥有的一组大型原始图像中创建一些视频。
代码如下:
int imageWidth=687;
int imageHeight=916;
int fps=3;
int ex=-1;
CvSize size = cvSize(imageWidth,imageHeight);
VideoWriter outputVideo;
outputVideo.open(MovieOutput, ex, fps, size, true);
if(outputVideo.isOpened())
{
cout << "error opening output video";
}
for(int frameNo=0;frameNo<58;frameNo++)
{
ostringstream outfilename;
outfilename << InputDir<< (frameNo+1)<<".jpg";
rawimages.Read(frameNo);
Mat image=rawimages.ToOpencvImage();
imwrite( outfilename.str(), image );
outputVideo <<image;
imshow("Image", image);
if(waitKey(30) >= 0) break;
}
我可以看到图像显示在屏幕上,并且不同的 jpg 保存在硬盘上。
我可以看到输出 avi 已创建,但其大小为零。
这段代码有什么问题?
一些注意事项:
输出尺寸非常大。它可以生成那种大小的电影吗?