VC6.0 + opencv1.0 操作摄像头

程序只是简单的使用OpenCV 1.0 的API进行摄像头操作 (源码放在http://download.csdn.net/detail/zxx2011/6593437)

#include <stdio.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int main( int argc, char** argv )
{
 //声明IplImage指针,IplImage指针在之后的摄像头图像传递,图像处理,图像显示中都作为主要处理的参数。按照说明书,成员主要有:大小,版本,通道数,位深数,颜色通道(是否交叉存取),顶/底左结构,宽像素,高像素,图像感兴趣区域,图像数据大小,指向排列,排列图像行大小;而被opencv忽略、或者置空的成员有alphaChannel,colorModel[4]等。
 IplImage* pFrame = NULL;  
 
 //CvCapture没有公共接口,只能视为视频获取的一个参数   
 CvCapture* pCapture = NULL;
 
 //创建窗口,原型:int cvNameWindow (const char *name,int flag=CV_WINDOW_AUTOSIZE)
 cvNamedWindow( "GnVideo", 1 );
 
 //打开摄像头,原型:IplImage* cvQueryFrame( CvCapture* capture );函数cvQueryFrame从摄像头或者文件中抓取一帧,然后解压并返回这一帧。这个函数仅仅是函数cvGrabFrame和函数cvRetrieveFrame在一起调用的组合。返回的图像不可以被用户释放或者修改。
 
 if ( !( pCapture = cvCaptureFromCAM( -1 ) ) )
 {
  fprintf( stderr, "Can not open camera.\n" );
  return -2;
 }
 
 
 //逐帧读取视频
 while ( pFrame = cvQueryFrame( pCapture ) )
 {
  //显示图像
  cvShowImage( "GnVideo", pFrame );
  if ( cvWaitKey( 10 ) == 27 )
  {
   break;
  }
 }
 //销毁窗口
 cvDestroyWindow( "GnVideo" );
 cvReleaseCapture( &pCapture );
 
 return 0;
}
 


 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值