#include <cv.h>
#include <highgui.h>
#include <stdio.h>
int main()
{
IplImage *img=cvLoadImage("E://qt//intel_cup//SURF_H//A1.jpg",0);
IplImage *img1=cvLoadImage("E://qt//intel_cup//SURF_H//A2.jpg",0);
IplImage *temp=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
CvVideoWriter * pwriter;
pwriter=cvCreateVideoWriter("my.avi",0 ,20,cvGetSize(img),1);
// printf("%x\n",pwriter);
int num=100;
while(num>0)
{
if(num%2==0)
cvCopy(img,temp);
else
cvCopy(img1,temp);
int result=cvWriteFrame(pwriter,temp);
num--;
}
cvReleaseVideoWriter(&pwriter);
cvReleaseImage(&img);
//=======================================================
CvCapture * capture = cvCreateFileCapture ("my.avi"); //读取视频
if(capture==NULL)
{
printf("NO capture"); //读取不成功,则标识
return 1;
};
/*
double fps=cvGetCaptureProperty(capture, CV_CAP_PROP_FPS ); //读取视频的帧率
int vfps = 1000 / fps; //计算每帧播放的时间
printf("%5.1f\t%5d\n",fps,vfps);
double frames=cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_COUNT);//读取视频中有多少帧
printf("frames is %f\n",frames);
cvNamedWindow("example",CV_WINDOW_AUTOSIZE); //定义窗口
IplImage * frame;
while(1)
{
frame = cvQueryFrame( capture );
if(!frame)
break;
float ratio = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_AVI_RATIO); //读取该帧在视频中的相对位置
printf("%f\n",ratio);
cvShowImage("example",frame); //显示
char c = cvWaitKey(vfps);
if(c == 27 )break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("example");
return 0;
}