使用OpenCV最基本的功能是可以获取到外部摄像头的图像,并且显示出来。这样在此基础上就可以做其他的基于实时视频流的程序了。基本的代码如下:
//********************
//打开摄像头
//********************
#include"stdafx.h"
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\core\core.hpp>
int main(){
cv::VideoCapture capture(0);
/*cv::VideoCapture capture1(1);
cv::VideoCapture capture2(2);*/
if (!capture.isOpened())
return 1;
/*if (!capture1.isOpened())
return 1;
if (!capture2.isOpened())
return 1;*/
cv::Mat Frame;
//cv::Mat Frame1;
//cv::Mat Frame2;
bool stop = false;
//bool stop1 = false;
//bool stop2 = false;
while (!stop)
{
capture >> Frame;
/*capture1 >> Frame1;
capture2 >> Frame2;*/
cv::imshow("视频", Frame);
/* cv::imshow("视频1", Frame1);
cv::imshow("视频2", Frame2);*/
if (cvWaitKey(30) == 48)
{
stop = true;
}
}
return 0;
}
如果将代码中的注释部分也加进来,就可以同时读取好几路摄像头的图像了。