【发布时间】:2012-11-10 15:17:28
【问题描述】:
我正在使用以下代码从文件中读取视频,应用精明边缘算法并将修改后的视频写入文件。代码编译并完美运行。但是,视频没有写!我完全糊涂了。请告诉我错误是什么。 该文件根本没有创建!操作系统:Ubuntu 12.10
写入输出文件的代码
打开输出文件
bool setOutput(const std::string &filename, int codec=0, double framerate=0.0, bool isColor=true) {
outputFile= filename;
extension.clear();
if (framerate==0.0)
framerate= getFrameRate(); // same as input
char c[4];
// use same codec as input
if (codec==0) {
codec= getCodec(c);
}
// Open output video
return writer.open(outputFile, // filename
codec, // codec to be used
framerate, // frame rate of the video
getFrameSize(), // frame size
isColor); // color video?
}
编写框架
void writeNextFrame (Mat& frame)
{
writer.write (frame);
}
还有一个单独的 run 方法来执行这些
【问题讨论】:
-
输出文件大小是多少?它是否大于 0?文件是否被创建?
-
文件未创建
-
我也没有看到类似刷新输出并关闭流的地方
-
它在行:return writer.open(outputFile, codec, framerate, getFrameSize(), isColor);
-
发布您的整个程序不会帮助您获得答案。这个想法是只包括必要的部分。
标签: c++ opencv image-processing video-processing