【发布时间】:2010-09-27 00:09:00
【问题描述】:
网上有例子和Learn OpenCv,Orielly中给出的代码。
多次尝试后,out.avi 文件被写入 0 字节。 我想知道我哪里出错了。
以下是我使用的代码...
int main(int argc, char* argv[]) {
CvCapture* input = cvCaptureFromFile(argv[1]);
IplImage* image = cvRetrieveFrame(input);
if (!image) {
printf("Unable to read input");
return 0;
}
CvSize imgSize;
imgSize.width = image->width;
imgSize.height = image->height;
double fps = cvGetCaptureProperty(
input,
CV_CAP_PROP_FPS
);
CvVideoWriter *writer = cvCreateVideoWriter(
"out.avi",
CV_FOURCC('M', 'J', 'P', 'G'),
fps,
imgSize
);
IplImage* colourImage;
//Keep processing frames...
for (;;) {
//Get a frame from the input video.
colourImage = cvQueryFrame(input);
cvWriteFrame(writer, colourImage);
}
cvReleaseVideoWriter(&writer);
cvReleaseCapture(&input);
}
【问题讨论】:
-
如果 Eric 提供了正确的答案,您能否接受他的答案作为该问题的正确答案?
-
您在哪个平台上运行?我无法让 MJPG 在 Windows 上运行。