opencv打开摄像头采集和保存

纯粹是自娱自乐,并没有对opencv的使用进行深入的学习,用opencv打开视频文件或者打开摄像头采集,然后保存,这也是最基础的东西。

一、安装配置环境                                                                                

          VS2008下安装配置opencv,2005、2010的步骤应该差不多的,这里提供网址,没有比这个更详细的了http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1


二、程序代码                                                                                       

        opencv的学习,推荐《opencv教程——基础篇》,其中第三章有对视频的详细讲解,下面贴出代码:

[cpp]  view plain  copy
  1. #include "stdafx.h"  
  2.   
  3. #include "cv.h"   
  4. #include "highgui.h"   
  5.   
  6. int main( int argc, char** argv )   
  7. {   
  8.     CvCapture* capture = 0;   
  9.     IplImage* frame = 0;   
  10.   
  11.     capture = cvCaptureFromAVI("video.avi");  
  12.     //capture = cvCaptureFromCAM( 0 ); //使用摄像头 就换成这句  
  13.   
  14.     double fps = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS); //视频帧率   
  15.     //int fps=25; //捕捉帧率 ,影响生产的文件的播放速度  
  16.       
  17.     frame = cvQueryFrame( capture ); //先捕获一帧  
  18.   
  19.     CvVideoWriter* writer = 0; //保存就加上这句  
  20.     int isColol=1;   
  21.     //int frameW=640;   
  22.     //int frameH=480;   
  23.     writer=cvCreateVideoWriter("out.avi",CV_FOURCC('F','L','V','1'),fps,cvSize(frame->width,frame->height),isColol);//这里大小随便设好像不行  
  24.   
  25.     //cvNamedWindow( "窗口", 1 );   
  26.   
  27.     //for(int i=0;i<50;i++) //2秒  
  28.     for(;;) //一直读  
  29.     {   
  30.         frame = cvQueryFrame( capture );   
  31.   
  32.         cvWriteFrame(writer,frame );   
  33.   
  34.         cvShowImage( "窗口", frame ); //显示一帧图像  
  35.         cvWaitKey(1000 / fps);//视频速度   
  36.     }   
  37.   
  38.     cvReleaseVideoWriter(&writer);   
  39.     cvReleaseImage(&frame);   
  40.     cvReleaseCapture( &capture );   
  41.     cvDestroyWindow("窗口");   
  42.     return 0;   
  43. }   
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值