[学习OpenCV攻略][009][从摄像机读入数据]

cvCreateCameraCapture(设备ID)

创建一个摄像机视频,返回值是CvCapture*类型。设备ID表示设备的编号,如果有多个摄像机设备,-1表示随机选择一个设备。

#include "cv.h"
#include "highgui.h"

int main(int argc, char **argv){
	cvNamedWindow("hello", CV_WINDOW_AUTOSIZE);
	
	CvCapture *capture;
	if(argc == 1){
		capture = cvCreateCameraCapture(0);
	}else{
		capture = cvCreateFileCapture(argv[1]);
	}
	
	//assert(capture != NULL);   在加上这句后程序会死掉,可能是打开相机是capture还没来得及传参数
	
	IplImage *frame;
	while(1){
		frame = cvQueryFrame(capture);
		if(!frame){
			break;
		}
		
		cvShowImage("hello", frame);
		
		char c = cvWaitKey(10);
		if(c == 27){
			break;
		}
	}
	
	cvReleaseCapture(&capture);
	cvDestroyWindow("hello");
	
	return 0;
}
原文地址:https://www.cnblogs.com/d442130165/p/4920716.html