利用cvVideoWriter讲原视频文件写入到新文件里的程序
才另外的程序里电脑能够载入avi文件,但这里面无论生成avi或mpg最后都无法正常打开(程序能运行成功),请问是代码的原因么?
[pre lang="c++" line="1"]
#include "cv.h"
#include <cxcore.h>
#include <highgui.h>
int main( int argc, char* argv[] )
{
CvCapture *capture = 0;
capture=cvCreateFileCapture("bg.avi");
IplImage* in_img=cvQueryFrame(capture);
double fps=cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
CvSize size=cvSize(
(int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH),
(int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT)
);
CvVideoWriter* writer=cvCreateVideoWriter(
"new.mpg",
CV_FOURCC('M','J','P','G'),
fps,
size
);
IplImage* out_img=cvCreateImage(
size,
IPL_DEPTH_8U,
3);
while((in_img=cvQueryFrame(capture))!=NULL){
cvLogPolar(in_img,out_img,
cvPoint2D32f(in_img->width/2,in_img->height/2),
40,
CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS
);
cvWriteFrame(writer,out_img);
cvReleaseVideoWriter(&writer);
cvReleaseImage(&out_img);
cvReleaseCapture(&capture);
return 0;
}
}
[/code] |