【计算机视觉】opencv读取多个摄像头
【计算机视觉】opencv读取多个摄像头
标签(空格分隔): 【图像处理】
说明:今天蹭了机器视觉课程,讲到了stereopsis,立体视觉,讲到了关于通过多个摄像头获取object的depth信息的事情,因为想到从来没有试过打开多个摄像头进行过处理,这次进行了测试,这里小小记录一下。
opencv提供的VideoCapture可以很方便的打开视频、摄像头设备,而且直接输入对应的摄像头标号即可,或者视频的名字即可,一个open全部搞定,我通常喜欢用这个来类来获取图像数据。
下面是对应的详细代码:
// MultiCAM.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cv.h>
using namespace std;
using namespace cv;
int main(int argc, _TCHAR* argv[])
{
VideoCapture capture, capture1, capture2;
capture.open(0);capture1.open(1);capture2.open(2);
// Read options
//read_options(argc, argv, capture);
// Init camera
if (!capture.isOpened())
{
cout << "capture device 0 failed to open!" << endl;
return 1;
}
if (!capture1.isOpened())
{
cout << "capture device 1 failed to open!" << endl;
return 1;
}
if (!capture2.isOpened())
{
cout << "capture device 2 failed to open!" << endl;
return 1;
}
// Register mouse callback to draw the tracking box
namedWindow("0", CV_WINDOW_AUTOSIZE);
namedWindow("1", CV_WINDOW_AUTOSIZE);
namedWindow("2", CV_WINDOW_AUTOSIZE);
Mat frame;
Mat frame1;
Mat frame2;
while(capture.read(frame) && capture1.read(frame1) && capture2.read(frame2))
{
imshow("0", frame);
imshow("1", frame1);
imshow("2", frame2);
if (cvWaitKey(33) == 'q') { break; }
}
waitKey();
return 0;
}
笔记本上自带的WEBCAM,外接了两个USB CAM,共三个摄像头,一般来说笔记本自带的WEB CAM应该对应的标号为0,之后是哪个USB接上的标号为1,以此类推。
可以在此工程上借助两个摄像头或者3个摄像头获取目标的深度信息的测试。
2015-11-12 笔记整理 张朋艺
【计算机视觉】opencv读取多个摄像头的更多相关文章
- opencv读取摄像头实时流代码
opencv读取摄像头实时流代码: #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; ...
- C/C++ OpenCV读取视频与调用摄像头
原文:http://blog.csdn.net/qq78442761/article/details/54173104 OpenCV通过VideoCapture类,来对视频进行读取,调用摄像头 读取视 ...
- 利用树莓派来安装opencv从而来调动摄像头工作(没有坑,超超自己试过)
超超最近参加了学校里一位特别厉害的老师讲的课(两天,我就从一个小白然后了解了树莓派以及Arduino这些我之前都没有了解过的东西,由于结课的需要,我们需要自己设计一个创意以及完成作品)所以才有了这篇文 ...
- 基于opencv和mfc的摄像头采集代码(GOMFCTemplate2)
编写带界面的图像处理程序,选择opencv+mfc是一种很好的选择:在读取摄像头数据方面,网上的方法很多,其中shiqiyu的camerads的方法是较好的. 基于现有资料 ...
- OpenCV3读取视频或摄像头
我们可以利用OpenCV读取视频文件或者摄像头的数据,将其保存为图像,以用于后期处理.下面的实例代码展示了简单的读取和显示操作: // This is a demo introduces you to ...
- javacpp-opencv图像处理3:使用opencv原生方法遍历摄像头设备及调用(增加实时帧率计算方法)
javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...
- 基于opencv和mfc的摄像头采集代码(GOMFCTemplate2)持续更新
编写带界面的图像处理程序,选择opencv+mfc是一种很好的选择:在读取摄像头数据方面,网上的方法很多,其中shiqiyu的camerads的方法是较好的. 基于现有资料 ...
- 系统---添加一个相机的IP实现opencv读取rstp视频流
系统---添加一个相机的IP实现opencv读取视频流 这里: 第一步,添加一个6段的相机IP地址:先ping 一个IP地址,ping通的是再用的IP,不可添加:ping不通的,添加IP到网络. 第二 ...
- 吴裕雄--天生自然python学习笔记:python用OpenCV 读取和显示图形
Open CV 是一个开源.跨平台的计算机视觉库,它可 以在商业和研究领域中免费使用,目前已广泛应用于人机 互动.人脸识别.动作识别.运动跟踪等领域. 要识别特定的图像,最重要的是要有识别对象的特征 ...
随机推荐
- c++ string类基本使用
初始化用法 #include <iostream> #include "string" using namespace std; void main() { strin ...
- [codeforces][dp]
链接:https://ac.nowcoder.com/acm/problem/21314来源:牛客网 题目描述 牛牛正在打一场CF 比赛时间为T分钟,有N道题,可以在比赛时间内的任意时间提交代码 第i ...
- python 实践--新闻聚合
采集新闻,体会到面向问题和面向对象的区别. 如果希望新闻来源多出,比如NNTP,Web.可以实现:Source,Destination,NewItem,NewAgent. Scoure处理来源, De ...
- SIGAI机器学习第十四集 支持向量机1
讲授线性分类器,分类间隔,线性可分的支持向量机原问题与对偶问题,线性不可分的支持向量机原问题与对偶问题,核映射与核函数,多分类问题,libsvm的使用,实际应用 大纲: 支持向量机简介线性分类器分类间 ...
- Gradle 发布 Jar 到 Archiva 时提示不能 Overwriting released artifacts is not allowed
系统提示错误信息: Received status code 409 from server: Overwriting released artifacts is not allowed. 这是在 A ...
- 【luogu1797】faebdc的烦恼-莫队
题目背景 鸟哥(faebdc)自从虐暴NOIP2013以来依然勤奋学习,每天上各种OJ刷题,各种比赛更是不在话下.但这天他遇到了一点小小的麻烦……在一届“Orz鸟哥杯”上,题目是在是太多了!足有n道! ...
- 数据结构实验之栈与队列五:下一较大值(一)(SDUT 3332)
#include <bits/stdc++.h> using namespace std; int a[1005]; int main() { int t,n,i,j; while(~sc ...
- javascript监听浏览器前进后退
window.addEventListener("popstate", function () { backStatus=true; return; })
- Java学习之路(2)
Java中的标识符及命名规范 一.标识符可以使用字母.下划线.$.数字及其他们的组合命名,不能以数字开始,其他的3中可以起头.关键字和保留字不能作为标识符使用; 二.Java是大小写敏感的,也就是说i ...
- 全网最新Kali Linux系统如何安装N卡驱动
转载请注明来源:全网最新Kali Linux系统如何安装N卡驱动[亲测-暗影精灵3-1050TI有效] - 大家好,我系渣渣辉 https://www.zzhsec.com/255.html 1.更换 ...