一个USB集线器上有两个网络摄像头-带宽问题 [英] Two webcams on one usb hub - bandwidth issues

查看:608
本文介绍了一个USB集线器上有两个网络摄像头-带宽问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用OpenCV 2.3从一台只有一个USB集线器的Linux计算机(Ubuntu 10.04)上的两个摄像头中捕获视频.第一次为第二台摄像机调用cv.QueryFrame时出现错误"videoc_streamon:设备上没有剩余空间",而在后续调用中出现"vidioc_qbuf:无效参数"错误.

I'm using OpenCV 2.3 to capture video from two webcams on a Linux computer(Ubuntu 10.04) which only has one USB hub. I'm getting an error "videoc_streamon: No space left on device" when cv.QueryFrame is called for the second camera the first time and "vidioc_qbuf: invalid argument" on subsequent calls.

我知道这是USB带宽问题,因此我尝试使用cv.SetCaptureProperty将分辨率降低到320 x 240,这似乎没有任何改变(通过调用cv.GetCaptureProperty确认).

I know that this is a USB bandwidth issue, so I tried lowering the resolution to 320 x 240 with cv.SetCaptureProperty, which appears to not change anything (confirmed by a call to cv.GetCaptureProperty).

我需要某种方法来降低相机使用的带宽,以便我可以同时从它们中获取帧.这是用于立体视觉应用程序的,所以我希望可以同时抓取框架.

What I need is some way to lower the bandwidth the cameras are using so that I can get frames from them simultaneously. It's for a stereo vision application, so I would like the frames to be grabbed at about the same time.

推荐答案

不幸的是,我认为没有办法降低代码的带宽.我最近在一个视觉项目中工作,我们在一台计算机上使用了4个网络摄像头.我们必须购买PCI usb卡才能获得更多USB带宽来运行相机.

Unfortunately I don't think there is a way to lower the bandwidth with code. I recently worked on a vision project where we used 4 webcams on one computer. We had to purchase PCI usb cards to get more USB bandwidth to run the cameras.

这篇关于一个USB集线器上有两个网络摄像头-带宽问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆