用OpenCV2 打开多摄像头,如何确定摄像头序号
这是个小问题。
按照OpenCV说明书的说法,打开摄像头,可以使用如下语句形式:
VideoCapture::VideoCapture(int device)
对于其中的device部分,说明手册有如下提示
device – id of the opened video capturing device (i.e. a camera index). 
我想问的是,使用多个摄像头时,如何确定各个摄像头所对应的id。
比如,当有两个摄像头时,我尝试一个为0,一个为1,通过看捕获的图像,可以确定各摄像头的id,但不知这个顺序是否固定。但这样毕竟很被动,而且不知道开关机等操作后,再运行改程序,设备号是否会变化。
我想一定有可以查看摄像头对应的所谓id的方法,但没有搜到,希望有人能解答。
3

2个回答

这个估计得看看源码是怎么样操作的,官方文档里面也就是你说的那些,没有提到更多的细节

0
qq_24495647
星空的星 回复careerhealth: 群主解决的话,求分享一下
3 年多之前 回复
wangyaninglm
shiter 解决的话分享一下啊,这个我确实见过很多人问到过
3 年多之前 回复
careerhealth
careerhealth 谢谢,这是一个解决途径,只是我现在基础薄弱,看源码吃力。
3 年多之前 回复
0
panpancongcong
panpancongcong 你好,这样设置之后,在opencv里好用吗?cvCreateCameraCapture(int index),我这边尝试了下,好像不行
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Opencv2打开摄像头并显示图像
网上有很多例子,但绝大部分是用Opencv1写的。这里基于Opencv2,打开摄像头,并显示图像。#include <opencv2\core\core.hpp> #include <opencv2\highgui\highgui.hpp> #include <opencv2\opencv.hpp>using namespace cv; int main() { VideoCapture c
Opencv3获取电脑上多个摄像头的名称和编号
这是一个通过C++获取电脑上连接的多个摄像头的名称和编号,方便opencv开发的时候直接通过摄像头编号获取对应摄像头的数据,也方便直播开发获取摄像头名称。
opencv 查找某个相机编号
int get_camera_id(std::string str) {     CCameraDS m_CamDS;     //仅仅获取摄像头数目     int res_id = -1;     int m_iCamCount = CCameraDS::CameraCount();     printf("There are %d cameras.\n", m_iCamCount);    ...
opencv获取多个摄像头名字和编号
https://blog.csdn.net/hyqwmxsh/article/details/74479694
【OpenCV学习笔记】2.3 OpenCV2.2摄像头读取视频的问题和解决(VS2010)
摄像头读取视频这一块研究了很长时间,终于弄好了。刚开始以为是代码的问题,因为一直编译不过,后来 修改了一个小错误,编译通过,但是弹出来的窗口是灰色的没有图像。我“有问题找度娘”了一段时间,发现有不少同 僚也遇到了相似的问题,但是解决办法对于我这里都不甚有效。后来我排除了代码,配置和摄像头出问题的可能性。我的方法就是,一个一个试验。可能比较繁琐, 不太容易发现真正的问题所在,但是还挺有效果...
opencv2 python 读取摄像头数据
opencv2 python 读取摄像头数据 ''' Get video from camera ''' import cv2 cap = cv2.VideoCapture(0) #视频进行读取操作以及调用摄像头 width = 640 ret = cap.set(3, width) height = 480 ret = cap.set(4, height) fourcc = cv2.V...
【计算机视觉】opencv读取多个摄像头
【计算机视觉】opencv读取多个摄像头标签(空格分隔): 【图像处理】说明:今天蹭了机器视觉课程,讲到了stereopsis,立体视觉,讲到了关于通过多个摄像头获取object的depth信息的事情,因为想到从来没有试过打开多个摄像头进行过处理,这次进行了测试,这里小小记录一下。opencv提供的VideoCapture可以很方便的打开视频、摄像头设备,而且直接输入对应的摄像头标号即可,或者视频的
比较opencv2、opencv3关于读取视频文件、摄像头的编程风格
(开发环境:ubuntu 16.04+opencv3.1.0+qt5) 入门opencv首先了解下读取视频文件、摄像头的编程风格。 opencv2、opencv3对此最基本到区别莫过于操作图像矩阵的不同: opencv2采用到是IplImage指针;opencv3采用的是Mat矩阵。 先上代码: opencv2风格: #include #include #include #i
Opencv 打开笔记本摄像头
1.安装Opencv安装、编译$git clone https://github.com/opencv/opencv.git $cd opencv/ $git checkout tags/3.2.0 $mkdir build $cd build/ $cmake .. $make 2.打开摄像头打开摄像头并将视频流写入到视频文件中#include <opencv2/opencv.hpp>...
Opencv同时调用两个摄像头
Opencv同时读取两个摄像头
关于基于Python2 OpenCV2的视频读取和摄像头捕捉问题error:(-215)
Em...笔者呢实际上也是个OpenCV2的新手,然后在学习的时候要用到视频捕捉了,然后在这个地方一直出问题,头疼了整整两天...测试代码如下报错大概如下以下是揭示过程,解决方式转至本篇博客尾部这段代码是简化之后的,笔者最初在网上找到了相关的博客,有说用isOpened()检测摄像头是否开启,但实际上我用print打印的结果是True,也就是说摄像头是开启了的。然后我又打印了ret和frame的结
使用opencv2在qt界面上进行摄像头采集以及简单的拍照功能
首先在这边说明一下为什么要写这个,因为在网上都是使用opencv1的代码,个人感觉有点过时,现在大家基本上都是用opencv2或者opencv3,而库基本上都是用opencv2的库。 首先我们要先将环境安装好: 安装opencv,链接地址如下:https://opencv.org/downloads.html安装qt,我个人是安装比较新的qt5.6.0,链接地址如下:http:
【MFC+opencv+C++】打开两个三个以及多个摄像头【超级详细解析教程】
话不多说,大家跟我一起念,保证分享源码!保证分享源码!保证分享源码!基础预览:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内...
使用OpenCV的摄像头运行物体检测代码
使用OpenCV开发,实现对摄像头中运动物体的检测与识别
OpenCV2从摄像头获取帧并写入视频文件
一段基于OpenCV2的代码。 作用是从摄像头获取帧并将帧写入指定的视频文件中。 需要注意的是,视频文件所在的路径需要存在,例如D:/images/1.avi。images这个目录需要存在。调用VideoWrite类对象的成员函数open时,编解码方式参数设置为-1,代码运行时会弹出对话框,手动选择编解码方式。#include<opencv2\highgui\highgui.hpp> #incl
在opencv3.2中打开摄像头
在VS2017配置好opencv3.2后测试了一段代码,刚开始的代码运行后出现黑屏的现象,在查阅网上资料后修改了代码可以正常显示。#include <stdafx.h> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #incl
opencv在linux系统下利用从cv2进行摄像头读取操作
读取一直错误 根本没显示 ,后来查阅了好久发现是ubuntu中的摄像头褐诶主机的摄像头不匹配的问题, 来到主机,将主机中相机权限打开,进行共享,再回到ubuntu进行cheese命令检验,终于实现视频读入操作!可谓艰辛! 附上有用链接一份: https://blog.csdn.net/qq_30155503/article/details/79460420 代码如下: # -*- co...
Opencv识别设备ID 打开指定摄像头
Opencv识别设备ID 打开指定摄像头 Opencv中打开摄像头的语句是: Videocapture cap; cap.open(index); Opencv中打开摄像头,当有多个摄像头时,有时候打开的不是想要的那个,因此有必要获得设备列表并选择合适的index。 跟踪源码,到cap_show.cpp中,在1293行发现了 int videoInput::listDevices(bo...
一个基于MFC多线程和Opencv库的打开两个摄像头实例
本博客主要总结如何利用MFC多线程+Opencv打开多摄像头函数,具体的步骤如下所示。 1.1首先创建一个MFC基本对话框工程,在对话框界面添加一个按钮,双击该按钮,在按钮事件处理函数OnBnClickedButtonTest()中,添加如下代码(直接复制粘帖) if (threadFlag)        {               threadFlag = FALSE;//关闭多线
【OpenCV】读取摄像头的区别,opencv2与opencv3移植问题
先来看一下我们比较熟悉的Opencv3中读取摄像头的方法: int main() { VideoCapture capture(0); Mat frame; while (capture.isOpened()) { capture &amp;gt;&amp;gt; frame; imshow(&quot;capture&quot;, frame); i...
【OpenCV学习笔记】四、摄像头/视频的读取与写入
主要内容: 1、讲解VideoCapture类,读取视频或摄像头 2、讲解VideoWriter类,写视频文件 先上ppt: 代码:读取视频或摄像头,并加入简单处理效果 //读取视频或摄像头,并加入简单处理效果 #include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp"
opencv2摄像头分辨率,帧率的显示和改变
opencv下实现显示并更改摄像头分辨率,帧率,同时能显示多个摄像头,基于Opencv2.0以后的版本
OpenCV实现摄像头录像
代码位置:7-CameraRecording.py import cv2 cameraCapture = cv2.VideoCapture(0) fps = cameraCapture.get(cv2.CAP_PROP_FPS) size = (int(cameraCapture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cameraCaptur...
利用opencv获取摄像头个数和指定ID保存视频
利用opencv获取摄像头个数,根据摄像头ID指定的摄像头去录制视频。
Android 同时打开多路摄像头
Android 同时打开多路USB摄像头,采用UVC驱动。目前demo内是最多打开六路
基于python3的Opencv(一)-打开摄像头显示图像
基于Python3的Opencv学习:import cv2 as cv def video_demo(): #0是代表摄像头编号,只有一个的话默认为0 capture=cv.VideoCapture(0) while(True): ref,frame=capture.read() cv.imshow(&quot;1&quot;,frame) #等待30ms显示图像,...
opencv中使用摄像头录制视频
前言:仅个人小记。 以下只是两个基本操作,实现录制视频这个简单功能,在很多应用中,作为基础功能,简要记录。 //建立一个C++控制台程序即可 // opencvDemo.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // //#include "pch.h" #include &lt;iostream&gt; #include &lt;string&gt; #incl...
opencv 打开视频或摄像头并按格式保存图片,读取图片
#include &amp;lt;opencv2/imgproc/imgproc.hpp&amp;gt; #include &amp;lt;opencv2/highgui/highgui.hpp&amp;gt; #include &amp;lt;opencv.hpp&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;stdio.h&amp;gt; using namespace cv; using names...
设置摄像头分辨率
一、videocapture类的介绍1、Class for video capturing from video files, image sequences or cameras.2、The class provides C++ API for capturing video from cameras or for reading video files and image sequences....
Linux:(多摄像头)如何运行指定的摄像头
LZ原来一直都是用的笔记本的摄像头,结果标定的时候快趴地上了,可能是实在看不过去了,师兄给了一个摄像头,这样相当于有两个摄像头,但是怎么打开指定的摄像头呢?第一个,安装一个软件sudo apt-get install cheese安装好了? 哈哈,然后直接运行在终端中输入cheese就直接打开笔记本自带的摄像头,但是如果LZ要打开另外一个摄像头,怎么指定对应的摄像头呢?在终端中输入lsusb查看是
Android适配多摄像头
从 Android P 开始,Android将添加对逻辑多摄像头和 USB 摄像头的支持。这意味着,除了前后两个摄像头外,Android手机的前置或者后置有两个及两个以上的摄像头。对此,对于Android开发者来说,就需要完成这方面的适配工作。 多摄像头 一台设备有多个摄像头没什么新鲜的,但是直到现在,Android 设备仍然最多只有前后两个摄像头。而新出的Android P系统将打破这一常规,今...
opencv摄像机名称及id获取,以及串口名称获取
c++,得到opencv打开摄像头id号及名称
QT+Opencv2+VS2012 使用多线程显示网络摄像头实时画面
目前网上使用Qt5与opencv 显示视频的,都是使用死循环来做,不是很好。本代码使用Qt5的多线程在Qlabel控件下实时显示摄像头画面
OpenCV打开摄像头并拍照
#include&amp;lt;iostream&amp;gt; #include&amp;lt;opencv2/core.hpp&amp;gt; #include&amp;lt;opencv2/opencv.hpp&amp;gt; #include&amp;lt;opencv2/highgui.hpp&amp;gt; using namespace cv; using namespace std; int main() {     Mat img;     ...
MFC中调用opencv里摄像头的实例
用是vs2013新建一个空的 mfc项目,配置该项目的属性。让该项目可以调用opencv的库以及相关函数。 //CMFCApplication12345Dlg  这个是主类名 void CMFCApplication12345Dlg::openCamer() { VideoCapture Capture(0); if (!Capture.isOpened()) { return;
opencv实现打开摄像头及视频文件
本文将用opencv打开摄像头、视频文件。跟打开图片类似,视频的操作也十分简单。VideoCapture类:opencv中通过VideoCapture类对视频进行读取操作及调用摄像头。一、opencv打开摄像头代码:#include &quot;opencv2/core.hpp&quot; #include &quot;opencv2/imgproc.hpp&quot; #include &quot;opencv2/highgui.hpp&quot; #i...
windows下opencv同时开启两个摄像头采集程序
亲测可用的代码,至于为什么把 VideoCapture cap(1);//写成全局变量,方便写其他C程序 VideoCapture capcap(2); Mat frame; Mat frame2; 写在全局变量,是为了在其他C文件里调用 只要在其他C文件加上 extern 语句就可以了。 #include&amp;lt;opencv2/opencv.hpp&amp;gt; #include&amp;lt;...
OpenCV 调用摄像头时报错
在调用笔记本上摄像头时,出现如下错误:然后程序异常退出。 代码如下: #include "opencv2/opencv.hpp" #include &lt;iostream&gt; using namespace cv; #define WAITKEY_DELAY 30 #define CAMERA_DEVICE 0 #define GAUSSIAN_SIGMA 3.5 #defi...
【opencv】vc6.0中opencv打开摄像头失败解决方法
因为要修改的工程是VC6.0下的,只能用opencv1.0读取摄像头,但是在读取的过程中出现了各种问题 问题描述:opencv1.0版本的摄像头驱动不兼容win7 http://www.xuebuyuan.com/2124092.html http://blog.csdn.net/williamvalentine/article/details/6599313  (这篇是DirectSh
Qt结合OpenCV和VC++实现调用摄像头拍照并保存捕捉到的图像文件
这个基于C++的Qt应用程序实现的是调用摄像头拍照的功能,它运用OpenCV里关于图像捕捉拍照的代码来进行的编写。同时实现将拍摄的照片以不同的格式进行保存,非常实用