#include <stdio.h>
#include<math.h>
#include <cv.h>
#include <highgui.h>
int main(int argc, char* argv[]) {
int i = 0, j = 0;
cvNamedWindow("Example3", CV_WINDOW_AUTOSIZE);
CvCapture* capture = 0;
capture = cvCreateFileCapture("avi.avi");
if (!capture) {
return -1;
}
IplImage* img = cvLoadImage("d:\\pic\\apple1.jpg", 1);
IplImage *out = cvQueryFrame(capture);//Init the video read
//cvShowImage("Example3", img1);
// printf("%d %d", img->width, img->height); getchar(); cvWaitKey(0);
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)
);
//用于输入图片与要衔接视频同尺寸。
cvResize(img, out, 1);
img = cvCloneImage(out);
CvVideoWriter *writer = cvCreateVideoWriter(
"gr13.avi",
CV_FOURCC('M', 'J', 'P', 'G'),
fps,
size
, 1
);
IplImage* logpolar_frame = cvCreateImage(
size,
IPL_DEPTH_8U,
3
);
//out = cvCloneImage(img);
int booll = 1;
while ((out = cvQueryFrame(capture)) != NULL)
{
i = 0;
while (booll && i++ < 50) //150
{
cvShowImage("Example3", img);
char c = cvWaitKey(5);
// if (c == 27) break;
j++;
cvWriteFrame(writer, img);
//getchar();
}
booll = 0;
cvShowImage("Example3", out);
char c = cvWaitKey(5);
cvWriteFrame(writer, out);
}
cvReleaseVideoWriter(&writer);
cvReleaseImage(&logpolar_frame);
cvReleaseCapture(&capture);
//cvReleaseCapture(&capture);
cvDestroyWindow("Example3");
return(0);
}