0
点赞
收藏
分享

微信扫一扫

cvCaptureFromCAM(0)


#pragma comment(lib,"highgui.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"ml.lib")
#pragma comment(lib,"cvaux.lib")
#pragma comment(lib,"cvcam.lib") 

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

inline void cvDoubleMatPrint( const CvMat* mat );
inline void cvDoubleMatSet(  CvMat* mat,double v );
inline void cvDoubleMatSet( CvMat* mat);
inline void cvScalarPrint(const CvScalar& s);

int main( int argc, char** argv )
{
// if( argc == 2 && (pImg = cvLoadImage( argv[1], CV_LOAD_IMAGE_UNCHANGED)) != 0 )
//	  return 0;
CvCapture* capture = cvCaptureFromCAM(0); // capture from video device #0
//CvCapture* capture = cvCaptureFromAVI("infile.avi");
IplImage* img = 0; 
//CVAPI(int) cvGrabFrame( CvCapture* capture );

cvNamedWindow("image",CV_WINDOW_AUTOSIZE);
char c=cvWaitKey(3);
while(c!=27)
{
if(!cvGrabFrame(capture)){              // capture a frame 
  printf("Could not grab a frame\n\7");
  exit(0);
}
	//CVAPI(IplImage*) cvRetrieveFrame( CvCapture* capture );
img=cvRetrieveFrame(capture);           // retrieve the captured frame

cvShowImage("image",img);
c=cvWaitKey(20);
}
//由视频流捕捉器得到的图像是由捕捉器分配和释放内存的,不需要单独对图像进行释放内存的操作
//cvReleaseImage(&img);
cvDestroyWindow("image");
cvReleaseCapture(&capture);
 return 0;
}



举报

相关推荐

0 条评论