最終更新: mikk_ni3_92 2007年11月15日(木) 14:32:46履歴
現在地 >> メニュー >> サンプルコード::OpenCV >> OpenCV::動画として保存
#include <cv.h>
#include <highgui.h>
#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;
inline void CV_MAIN_LOOP();
CvSize window={300,300};//ウィンドウサイズ
IplImage *imgA;
int main( int argc, char **argv)
{
imgA = cvCreateImage(window,IPL_DEPTH_8U,3);
cvSet (imgA, cvScalarAll (255), 0);
cvNamedWindow("window",CV_WINDOW_AUTOSIZE);
cvShowImage("window",imgA);
CV_MAIN_LOOP();
cvReleaseImage( &imgA );
cvDestroyWindow("window");
return 0;
}
/********** ここからメインループ ********************/
inline void CV_MAIN_LOOP()
{
#define PI_OVER_180 0.0174532925
int frame=0;
char key;
int x,y;
CvVideoWriter *vw;
vw = cvCreateVideoWriter ("cap.avi", -1, 15, cvGetSize (imgA));
while(1)
{
cvSet (imgA, cvScalarAll (255), 0);
x = window.width/2 + int(50*cos(frame*PI_OVER_180));
y = window.height/2 + int(50 *sin(frame*PI_OVER_180));
cvCircle(imgA,cvPoint(x,y),3,cvScalar(255,0,0),CV_FILLED);
cvWriteFrame (vw, imgA);
cvShowImage("window",imgA);
key=(char)cvWaitKey(1);
if(key=='\033') break;
frame+=1;
if(frame>360) frame = 0;
}
cvReleaseVideoWriter (&vw);
}
#include <cv.h>
#include <highgui.h>
#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;
inline void CV_MAIN_LOOP();
CvSize window={300,300};//ウィンドウサイズ
IplImage *imgA;
int main( int argc, char **argv)
{
imgA = cvCreateImage(window,IPL_DEPTH_8U,3);
cvSet (imgA, cvScalarAll (255), 0);
cvNamedWindow("window",CV_WINDOW_AUTOSIZE);
cvShowImage("window",imgA);
CV_MAIN_LOOP();
cvReleaseImage( &imgA );
cvDestroyWindow("window");
return 0;
}
/********** ここからメインループ ********************/
inline void CV_MAIN_LOOP()
{
#define PI_OVER_180 0.0174532925
int frame=0;
char key;
int x,y;
CvVideoWriter *vw;
vw = cvCreateVideoWriter ("cap.avi", -1, 15, cvGetSize (imgA));
while(1)
{
cvSet (imgA, cvScalarAll (255), 0);
x = window.width/2 + int(50*cos(frame*PI_OVER_180));
y = window.height/2 + int(50 *sin(frame*PI_OVER_180));
cvCircle(imgA,cvPoint(x,y),3,cvScalar(255,0,0),CV_FILLED);
cvWriteFrame (vw, imgA);
cvShowImage("window",imgA);
key=(char)cvWaitKey(1);
if(key=='\033') break;
frame+=1;
if(frame>360) frame = 0;
}
cvReleaseVideoWriter (&vw);
}