zoukankan      html  css  js  c++  java
  • 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的摄像头测试打开后再尝试下...感觉像玄学...以后找到原因再补充╮(╯▽╰)╭
  • 相关阅读:
    2.4 将类内联化
    2.3 提炼类
    2.2 搬移字段
    2.1 搬移函数
    1.8 替换你的算法
    1.7 以函数对象取代函数
    1.7 移除对参数的赋值动作
    1.6 分解临时变量
    1.5 引入解释性变量
    1.4 以查询取代临时变量
  • 原文地址:https://www.cnblogs.com/RegressionWorldLine/p/7476152.html
Copyright © 2011-2022 走看看