2.2 由摄像机读入数据

OpenCV的HighGUI模块提供了cvCreateCameraCapture(),可以从摄像设备中读入视频流,函数参数为设备ID而不是文件名。默认值为-1,即随机选择一个设备。

示例程序:

 1 /************************************************************************/
 2 /* 由摄像机读入数据                                                     */
 3 /************************************************************************/
 4 
 5 #include "cv.h"
 6 #include "highgui.h"
 7 
 8 int main(int argc, char** argv)
 9 {
10     cvNamedWindow("cameraCapture", CV_WINDOW_AUTOSIZE);
11     CvCapture* capture;
12     if (argc == 1)
13     {
14         capture = cvCreateCameraCapture(-1);
15     } 
16     else
17     {
18         capture = cvCreateFileCapture(argv[1]);
19     }
20     assert(capture != NULL);
21 
22     IplImage* frame;
23     while (1)
24     {
25         frame = cvQueryFrame(capture);
26         if(!frame) break;
27         cvShowImage("cameraCapture", frame);
28         char c = cvWaitKey(33);    //设置帧率
29         if(c == 27) break;    //按ESC退出
30     }
31 
32     cvReleaseCapture(&capture);
33     cvDestroyWindow("cameraCapture");
34 
35     return 0;
36 }

 

posted @ 2016-02-28 16:06  chan21252  阅读(233)  评论(0编辑  收藏  举报