我正在尝试同时(或几乎同时)从多个网络摄像头捕捉图像。我一直在玩OpenCV、VideoCapture和python编程。但有些困惑,希望有人能帮忙解释。。。

首先,我尝试了视频捕捉(Markus Gritsch的工作在这里找到:http://videocapture.sourceforge.net/)。

这是一个非常易于使用的python插件。如果我只是想捕捉一个简单的图像。它工作得很好。。。在很大程度上。

我的设置是两个便宜的摄像头在一个USB接口上的USB集线器和我的笔记本电脑的内置摄像头。

我读过所有关于在同一个USB总线上使用同一型号的摄像头,以及它可能无法工作的内容,等等,但我决定尝试一下。(我也有一些照片亭的程序,我一定已经安装了很久以前称为“Cyberlink YouCam”出于某种原因,这个程序“看起来”像是一个摄像头,对OpenCV和视频捕捉。

视频捕获连接到每个摄像头并从中捕获,如下所示:Cam0 = Device(devnum=0)

Cam0.saveSnapshot("filename0.jpg")

del Cam0

Cam1 = Device(devnum=1)

Cam1.saveSnapshot("filename1.jpg")

del Cam1

有了视频捕捉和我描述的设置,我可以独立地从我的系统上的所有相机(共4个,包括YouCam。。。0至3)

问题是这个程序似乎不能同时连接到多个摄像机。。。如果我不关闭前一个摄像头实例,它就会冻结,我必须断开并重新连接第一个摄像头与USB的连接,才能重新访问它。

这行不通:cam0 = Device(devnum=0)

cam1 = Device(devnum=1)

cam0.saveSnapshot("filename0.jpg")

cam1.saveSnapshot("filename1.jpg")

del cam0

del cam1

Cam0将打开,但这是它的结束。冻僵了。

另一件事是,在cheapo摄像头上,有一个很大的延迟(几乎一秒钟)直到图片变得生动。。。为了成功抓捕,我不得不这样做:Cam1 = Device(devnum=1)

Cam1.saveSnapshot("filename1.jpg") #gets the camera going and saves black image

time.sleep(.75) #delay

Cam1.saveSnapshot("filename1.jpg") #captures the image second time around

有效地保存图像两次。。。

如果每台相机的图像在静默中相隔几毫秒,我是不会介意的#open connection to cam, take image

#close connection to cam

#connect to next cam, take next image

#close connection to cam

#etc.

但是耽搁太久了。。。我以为是因为网络摄像头太便宜了,但我看到了另一个结果,因为简历是公开的,所以一定是视频捕获的错。

首先,我可以用OpenCV同时打开多个相机。。。但只有不同类型的。(其中一个cheapo摄像头和我的内置摄像头。。。和/或Cyberlink程序)OpenCV似乎看到两个cheapo摄像头和一个摄像头在同一个USB集线器上(它只打开其中一个摄像头)capture0 = CaptureFromCAM(0) #this was Cyberlink Program

capture1 = CaptureFromCAM(1) #this was cheapo cam

capture2 = CaptureFromCAM(2) #this was built-in cam

#CaptureFromCAM(3) resulted in error... did not find a 4th "camera"

frame0 = QueryFrame(capure0)

frame1 = QueryFrame(capure1)

frame2 = QueryFrame(capure2)

cv.SaveImage("filename0.jpg",frame0)

cv.SaveImage("filename1.jpg",frame1)

cv.SaveImage("filename2.jpg",frame2)

然而,视频捕捉可以看到两个类似的相机独立,OpenCV不能。

有人知道为什么吗?两个软件包与计算机的交互方式有什么不同,一个可以在同一个USB上确定不同的摄像头,另一个不能?

其次,OpenCV立刻打开了我的廉价相机。。。不,在那里耽搁了75秒。

同样,我很好奇这两个软件包(视频捕捉和OpenCV)与摄像头之间的通信方式有什么不同?

我最终感兴趣的是能够同时从2或3个摄像机上拍摄(或者接近它,如果有几毫秒的延迟,那就可以了)。看起来OpenCV是一个不错的选择,但是,我试图更好地理解软件是如何与摄像头交互的。

谢谢大家的洞察力!

J型

用python打开多个摄像头_了解使用python和OpenCV与VideoCaptu进行多个网络摄像头捕获...相关推荐

  1. python打开交互界面设计_老司机必备——用PyQt做一个有交互界面的妹子图爬虫...

    内容简介:老司机必备--用PyQt做一个有交互界面的妹子图爬虫 代码飙车,指日可待.今天的课程教大家结合PyQt和 Python 爬虫技术,做一个带有交互界面的妹子图网站爬虫程序. 一.实验简介 1. ...

  2. python打开浏览器怎么写_使用python调用浏览器并打开一个网址的例子

    python 打开浏览器,可以做简单的刷网页的小程序.仅供学习,别用非法用途. python的webbrowser模块支持对浏览器进行一些操作,主要有以下三个方法: webbrowser.open(u ...

  3. python打开excel进行编辑_使用Python进行Excel文件处理

    本章节选自本人著<Python Basic Tutorial>第十五章 15. Excel文件处理 15.1 引言 数据处理是Python的一大应用场景,正如我在本书之前所反复强调的,基于 ...

  4. python wx窗口无法关闭_菜鸟学Python,双手奉上老司机给上路新手总结的Python实战问题…...

    针对Python这一话题每天后台都会有不少小伙伴提出问题,下面我就将这些问题进行汇整,产出"Python实战问题篇",我认为这些问题非常具有代表性,希望可以帮到大家. 第一类问题: ...

  5. python的难点是什么_总结学习python的29个操作难点

    初学Python的人总会遇到这样或者那样的问题,在我学习Python的这段时间我总结了自己的29个问题,具体如下: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的 ...

  6. python write 写多行_如何用 Python 执行单行命令

    一般来说,面对日常处理的一些小任务,直接用 sed,grep 之类的就可以搞定,更复杂一点的就会考虑 awk 或者用一些现成的轮子,要是 awk 搞不定我就只好用 Python 了.但有些时候,我仅仅 ...

  7. python将字符串逆序_为什么说Python是一门伟大的入门语言?(附免费教程)

    Python 是一门伟大的入门语言.作为一门伟大的编程语言,一定要具备一些特征,其中有五项特征是非常重要的: 非常棒的首次体验:就像书的开始,首先一定要能够"沉迷",学习新知识一定 ...

  8. python能做财务分析吗_您可以使用Python进行财务规划和分析吗?

    python能做财务分析吗 问题 (The Problem) If you work in the Financial Planning and Analysis area, chances are ...

  9. python多个摄像头_python - 使用python和OpenCV与VideoCapture洞察多个网络摄像头捕获 - 堆栈内存溢出...

    我正在尝试同时(或几乎同时)从多个网络摄像头捕获图像. 我一直在玩OpenCV ,使用VideoCapture和python编程. 但有一些困惑,希望有人可以帮助解释事情...... 首先,我尝试了V ...

最新文章

  1. 硬改TP-Link WR841N v8刷breed和OpenWrt
  2. baidumaptrace.php,鹰眼Web API v2.0 | 百度地图API SDK
  3. SQL2K数据库开发六之表操作创建产品表products
  4. 有趣的c语言程序Code,一个有趣的小程序
  5. Storm On YARN
  6. Windows Mobile实现透明控件
  7. 简易分享功能(非第三方)
  8. 今天携程出事了:让我们来学习下http的响应码
  9. 帮助罕见病患者买得到药 京东健康上线“罕见病关爱中心”
  10. $.extend(true,{},a,b)解析
  11. git从远程仓库gitLab上拉取指定分支到本地仓库
  12. 【渝粤教育】电大中专跨境电子商务理论与实务 (30)作业 题库
  13. ad中按钮开关的符号_弱电图纸中敷设方式符号表示大全
  14. 新手如何在IEEE上发表论文?
  15. 多校2.1012La Vie en rose
  16. 计算机什么课学mcmc,MCMC案例学习
  17. 计算机组成原理【转载】
  18. ctr 平滑_ctr平滑
  19. c# 的取负数_c# – 负数范围可枚举
  20. struts2《轻量级框架应用与开发--S2SH》笔记

热门文章

  1. mysql跟踪工具_Mysql 监视工具
  2. 地图坐标转换及原理,一篇就足够!
  3. cell和label换行的问题
  4. Android入门之路 - RadioGroup、RadioButton、CheckBox(单复选框)使用进阶
  5. 精通CSS:高级Web标准解决方案(第2版)中文扫描版电子书pdf下载
  6. PostgreSQL:四. 数据表的基本操作
  7. C4D R26 渲染学习笔记(2):渲染流程介绍
  8. Python多线程爬取小说网站小说
  9. MVVM 学习之 生肖查询器
  10. 2022.2.13短线买点