Opencv VideoWriter只保存一帧
Opencv VideoWriter saves only one frame
我正在尝试从两个图像创建1fps-webm,代码:
// path to output
string outputVideoPath = "/home/gio/Desktop/giffer/def.webm";
// write dimensions in size struct
Size dims = Size(640,480);
// create and open VideoWriter object
VideoWriter outputVideo;
outputVideo.open(outputVideoPath, CV_FOURCC('V','P','8', '0'), 1, dims, true);
// check if opened
if(!outputVideo.isOpened()){
cout << "Creating outputVideo fail" << endl;
return -1;
}
// I hate strings
string paths[2];
paths[0] = "/home/gio/Desktop/giffer/images_temp/g0.jpg";
paths[1] = "/home/gio/Desktop/giffer/images_temp/g1.jpg";
for (int i = 0; i < 2; i++) {
cout << paths[i] << endl;
Mat temp = imread(paths[i]);
outputVideo.write(temp);
usleep(10000);
}
结果是唯一一帧(最后一张图像),1秒长。我做错了什么?
编辑:我尝试了.avi
扩展,DIVX
编解码器,它工作。有什么想法可以让它在.webm
上工作吗?或.gif
应该是
usleep(1000000);
由于usleep
参数是以微秒为单位给出的,您可以在这里阅读。
相关文章:
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 如何检测是否在缓冲绘画动画中绘制最后一帧?
- C++ 尝试优化每一帧将数据打印到二进制文件
- 当我在每一帧中多次使用正则表达式时,FPS 下降了
- 为什么除了最后一帧之外,每一帧都没有调用命令
- WinApi 在每一帧中绘制
- Opencv 视频帧.我只能看到最后一帧
- 访问视频的每一帧并对其进行处理
- Qt:显示实时视频,一次一帧
- Haar检测-保存图像的Mat,以便获得并显示前一帧
- OpenCV - 如何在局域网中的单独主机中处理视频的每一帧
- 在Qt/QML中的每一帧更新图像时运行时崩溃
- 设置GL_TEXTURE_MAX_ANISOTROPY_EXT会导致下一帧崩溃
- 在计算了一帧的SIFT或ORB之后,如何实时跟踪视频中的对象
- gstreamermm:如何提取 Gst::P layBin 的最后一帧视频
- 如何在 C++ 中保留 OpenCV 中的最后一帧
- 如何找到一帧中物体质心与相邻帧之间的欧氏距离
- Opencv VideoWriter只保存一帧
- 在c++中使用directshow过滤器从视频中捕获一帧
- 我如何使用点云库捕获一帧