OpenCV:VideoCapture同时打开两个摄像头
程序如下:
#include <opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
//initialize and allocate memory to load the video stream from camera
VideoCapture camera0(1);
camera0.set(CAP_PROP_FRAME_WIDTH,320);
camera0.set(CAP_PROP_FRAME_HEIGHT,240);
VideoCapture camera1(0);
camera1.set(CAP_PROP_FRAME_WIDTH,320);
camera1.set(CAP_PROP_FRAME_HEIGHT,240);
if( !camera0.isOpened() ) return 1;
if( !camera1.isOpened() ) return 1;
while(true) {
//grab and retrieve each frames of the video sequentially
Mat3b frame0;
camera0 >> frame0;
Mat3b frame1;
camera1 >> frame1;
imshow("Video0", frame0);
imshow("Video1", frame1);
//std::cout << frame1.rows() << std::endl;
//wait for 40 milliseconds
int c = waitKey(20);
//exit the loop if user press "Esc" key (ASCII value of "Esc" is 27)
if(27 == char(c)) break;
}
return 0;
}

[注]:
1. 分辨率为320*240,能够正常显示,分辨率太高,只有一个摄像头能正常显示,另一个显示灰度图。原因是USB的带宽有限。
2. 摄像头的序号在opencv中是采用降序的形式,才能正确读取多个摄像头,否则就不能。
3. VideoCapture类有两种用法,一种是VideoCapture(const string& filename)用来打开视频文件,一种是VideoCapture(int device)用来打开设备。
智能推荐
【拜小白opencv】10-开启摄像头,显示图像;VideoCapture类
博主力求用最简单的语言将此部分内容讲解清楚,但由于博主同样是刚刚接触OpenCV,或许表达上有些错误,还望读者能够指教探讨,大家共同进步。 博主机器配置为:VS2013+opencv2.4.13+Win-64bit。 如果本人写的能给读者带来一点点的帮助,我就很开心了。 ======================分割线=================== 前几节的内容图像的获取,都...
macOS 10.14 Mojave Pycharm OpenCV 无法打开摄像头,调用摄像头权限错误
Python 一闪而过,随后系统就会提示“Python 意外退出”: pycharm 官方有这样一个bug: 原因是macOS 10.14 新的安全协议加入了对所有程序的隐私权限管理,如果要涉及隐私权限,要在可执行程序旁边加入Info.plist且在里面注册摄像头权限。 系统偏好设置-安全隐私,如下图: 方法1: 在termial里面运行是正常的,因为termi...
JPA实现“一对一”映射
一 代码位置 https://gitee.com/cakin24/code/tree/master/08/JpaOneToOneDemo 二 关键代码 1 Student 2 Card 3 测试代码 三 控制台打印 四 数据库数据如下...
猜你喜欢
面向对象与UML
文章目录 一. 什么是UML 1. 统一建模语言(The Unified Modeling Language,UML) 2. UML基本图形类型 (1). 活动图(activity diagram) (2). 用况图(use case diagram) (3). 顺序图(sequence diagram) (4). 类图(class diagram) (5). 状态图(state diagram)...
SpringBoot之从零搭建博客网站
前言 为什么想要搭建这个博客? 程序员从业8年,期间学过一些东西,用过一些东西,然后遗忘,然后再次翻书,周而复始,少有总结的时候。 少时学编程,有时颇有趣味。有所悟、有所得、豁然开朗、别有洞天的感觉,就像足球场上一个潇洒利落的拉球转身过人,很美妙。 然而一路走来,发现除了书柜里面看过的书,熟稔于胸的并没有多少,总需要一遍遍地翻书。 为了更好地记忆,将点滴记录于斯,算是一个学习日志,便于自己回顾。 ...
struts2标签库常用标签详解
struts2标签库常用标签详解 struts2标签主要分两种: 注意:标签的属性可以被赋值为一个静态的值或一个 OGNL 表达式. 如果在赋值时使用了一个 OGNL 表达式并把它用 %{} 括起来, 这个表达式将会被求值. 1.通用标签库(控制标签、数据标签): 2.表单标签库 <s:property> 将OGNL表达式的内容输出到页面 value属...
Windows编程_Lesson008_内存
我们接下来将要比较神秘,也是平时接触比较少的一个东西,那就是内存。 有人会说我们平时接触的内存不是很多吗?尤其是对于C/C++程序员,好像无时无刻都在于内存打交道啊!怎么会说它比较神秘呢?说的也并不无道理,但是我们这里所说的内存并不是站在程序员的角度来看待内存的。如果站在程序员的角度看内存,内存的机制是透明的,但是这对于我们以后想要开发更好的程序,或者说想要我们的程序运行的更快,这是不利的。下面我...
c语言中,关于随机函数的使用详解
c语言中大家都知道的随机函数为random,但是random函数并不是ANSI C标准,所以random函数不能在gcc或者vc等编译器下编译通过。 c语言中,rand()函数可以产生随机数,但其产生的随机数是固定的。 多次运行以上程序产生的结果并未发生变化。 至于rand()函数产生随机数的范围为0~RAND_MAX,在Linux平台RAND_MAX定义在stdlib.h, 其值为2147483...
