opencv3.2下双web摄像头读取

准备条件

  • opencv3.2
  • vs2015

测试代码

#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/videoio.hpp> // for camera
using namespace cv;

int main()
{
	VideoCapture cap1;
	VideoCapture cap2;
	cap1.open(1);//白色摄像头
	cap2.open(2);//黑色摄像头
	if (!cap1.isOpened()||!cap2.isOpened())
	{
		return -1;
	}
	namedWindow("Video", 1);
	namedWindow("Video", 2);
	while (1)
	{
		Mat frame;
		cap1 >> frame;
		imshow("Video1", frame);
		waitKey(1);//用cv::waitKey来更新界面
		cap2 >> frame;
		imshow("Video2", frame);
		waitKey(1);
	}
	cap1.release();
	cap2.release();
	return 0;
}

需要注意的地方

  • 多个摄像头可以使用usb hub来扩展
  • cap.open(num)来确定打开第几个摄像头
  • imshow()更新窗口需要waitKey()的响应结果,保证流畅性可以采用waitKey(1)
  • 多个摄像头如果不能打开或者只能打开一个,可能和注册有关?解决方法:尝试用QQ的摄像头测试打开后再尝试下...感觉像玄学...以后找到原因再补充╮(╯▽╰)╭
posted @ 2017-09-04 22:15  回归的世界线  阅读(962)  评论(0编辑  收藏  举报