- /*
- * =====================================================================================
- *
- * Filename: videocapture.cpp
- *
- * Description: A Program of Capture the video Camrea
- *
- * Version: 1.0
- * Created: 02/02/2009 09:48:27 AM
- * Revision: none
- * Compiler: gcc
- *
- * Author: Futuredaemon (BUPT), gnuhpc@gmail.com
- * Company: BUPT_UNITED
- *
- * =====================================================================================
- */
- #include "cv.h"
- #include "highgui.h"
- #include <stdio.h>
- #include <ctype.h>
- #include <time.h>
- IplImage *frame=0;
- void mouseHandler(int event,int x,int y,int flags,void *param);
- int main(int argc , char **argv)
- {
- CvCapture *capture = 0;
- int flag= 1;
- int iscolor=1;
- int fps=15;
- int frameW=320;
- int frameH=240;
- int press=0;
- CvVideoWriter *writer=cvCreateVideoWriter("out.avi",CV_FOURCC('D','I','V','X'),
- fps,cvSize(frameW,frameH),iscolor);
- if (argc==1|| (argc==2 && strlen(argv[1])==1 && isdigit(argv[1][0])))
- {
- capture = cvCaptureFromCAM(-1);
- }
- else if(argc==2)
- {
- capture = cvCaptureFromAVI(argv[1]);
- }
- if (!capture)
- {
- fprintf(stderr,"Could not initialize capturing.../n");
- return -1;
- }
- cvNamedWindow("main",0);
- cvSetMouseCallback("main",mouseHandler,NULL);
- for (;;)
- {
- frame = cvQueryFrame(capture);
- if (!frame)
- {
- break;
- }
- if( flag==0 )
- {
- cvWriteFrame(writer,frame);
- }
- cvShowImage("main",frame);
- if ((press=cvWaitKey(20))=='r')
- {
- if( flag==1 )
- {
- printf("Starting Record the Video!/n");
- flag = 0;
- } else
- {
- printf("Stop the recording!/n");
- flag = 1;
- }
- }
- else if(press==27)
- {
- break;
- }
- }
- cvReleaseCapture(&capture);
- cvDestroyWindow("main");
- return 0;
- }
- void mouseHandler(int event,int x,int y,int flags,void *param)
- {
- time_t curtime=time(NULL);
- char *date=ctime(&curtime);
- switch ( event )
- {
- case CV_EVENT_LBUTTONDOWN :
- printf("Get a picrure named %s/n",date+11);
- sprintf(date,"%s.jpg",date+11);
- cvSaveImage(date,frame);
- break;
- default :
- break;
- }
- }
【OpenCV学习】摄像头显示、录像、拍照程序
最新推荐文章于 2023-09-21 00:35:23 发布