[学习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; }