博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Opencv学习】摄像头采集、录像、截图小工具
阅读量:6798 次
发布时间:2019-06-26

本文共 1792 字,大约阅读时间需要 5 分钟。

作者:

出处:

/** =====================================================================================** Filename: videocapture.cpp** Description: A Program of Capture the video Camrea 本程序可以进行摄像头采集、录像(按键 r)和截图(鼠标左键)** 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 #include #include 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;}}

作者:

出处:

转载地址:http://wfuwl.baihongyu.com/

你可能感兴趣的文章
Spring+Quartz实现定时任务的配置方法(插曲)
查看>>
一个基于cocos2d-x 3.0和Box2d的demo小程序
查看>>
(转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示
查看>>
struts2前端页面读取Clob/BLOB
查看>>
【MongoDB】深入了解MongoDB不可不知的十点
查看>>
[ACM] POJ 2635 The Embarrassed Cryptographer (同余定理,素数打表)
查看>>
又一次发现Oracle太美之glogin.sql
查看>>
hdu5387 Clock
查看>>
安装redis出现cc adlist.o /bin/sh:1:cc:not found
查看>>
初步认识Tensorflow
查看>>
tab 切换实现方法
查看>>
leetcode-First Missing Positive
查看>>
自抛球练习
查看>>
C++开发人脸性别识别教程(3)——OpenCv配置和ImageWatch插件介绍
查看>>
前端网页开发常用的问题定位方法
查看>>
自定义VIew方法
查看>>
iOS中 最新支付宝支付(AliPay) 韩俊强的博客
查看>>
京东的个性化推荐系统
查看>>
Java 泛型 泛型数组
查看>>
【SqlServer系列】表连接
查看>>