下面的代码无法打开VideoWriter对象:
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main() {
VideoWriter oVideo;
oVideo.open ("381.avi", -1, 30, Size(640,480), true);
if (!oVideo.isOpened()) {
cout << "Could not open the output video for write" << endl;
return -1;
}
return 0;
}
我在Ubuntu 12.04上运行OpenCV 2.4.9预建代码::Blocks。我已经在同一个位置使用imwrite()
写了很多图像,没有问题,所以我怀疑它是否与权限有关。我也尝试了CV_FOURCC('X','V','I','D')
,但没有工作。
我错过了什么?
任何帮助都将不胜感激。
3条答案
按热度按时间w7t8yxp51#
我重新安装OpenCV使用这个惊人的脚本:https://help.ubuntu.com/community/OpenCV
解决了。
r1wp621o2#
确保您的计算机中安装了特定的编解码器。
mwecs4sa3#
值得注意的是,预构建的opencv_world460.lib似乎不支持API之外的视频编解码器,我发现我需要在安装ffmpeg之后重建并链接opencv\build\lib\Release文件夹中的所有单独的库,这对于任何在Windows中的OpenCV 4.6中遇到类似问题的人来说都是一个参考。