Access Multiple Webcam with USB programming - c++

i want to built a 3D view of my scene with inputs from at least 3 webcams...presently i am using OpenCV (with C/C++) on Windows 7 32 bit platform and it gives me a maximum of 2 webcam views parallely...i have generated a 3D view with 2 webcams but that is not up to the mark...so i have the following questions...
if i use 3 webcams (2.0) in a USB hub is it possible to access the USB video frames without OpenCV?if yes then how?to keep it simple i can skip the USB hub because my laptop has 3 USB ports...is it then possible?
i have read about LIBUSB library...yet not used it...is it possible to access webcam video frames with this kind of usb library?
how safe is the LIBUSB library?i have read in some forums that if not configured and used correctly the blue screen pops up very frequently...it also runs a chance to damage the usb driver...? is there any other usb library i can use safely?
anyone who have worked on similar usb multiple webcam access stuff or has any idea on this please guide me...any suggestion is welcome...

You can run as many webcams as USB bandwidth allows
If USB bandwidth limit is hit, you are unlikely to resolve this by using certain software library
It might be helpful to lower resolution or start using on-camera compression if such option exists since both reduce USB traffic
More links on USB bandwidth constraint: 2 usb cameras not working with opencv

Related

Output image data from HDMI port using C/C++/opencv on a windows 10 PC

I am working with a DMD (digital micromirror array) device Provided from TI (DLP3010EVM-LC). It is basically a projector that can be controlled through USB and HDMI. The HDMI is used to input external image data to the projector, thus the DMD. I am planning to control the pixels of the DMD by sending an image of 1-bit data. My goal framerate is about 1000 fps. It seems that this is possible in case of a 1-bit data where the pixel data even though HDMI port has a max of 60 fps. I am looking for a way to send image data using c/c++/opencv from my windows 10 PC HDMI output. I looked a lot on different sites and forums but couldn't find a concrete way or documentations of how to program the HDMI port (in fact, I just need image output with no sound data). Some people on the Rasberry Pi community simply use imshow() from opencv for this, but it doesn't seem to work on a Windows PC.
Any help on this matter is appreciated.

Getting to work kinect v2 as microphone in ubuntu 14.04?

I'm using Kinect v2 in Ubuntu 14.04 and trying to get a way to use it as a microphone using C++ as the programming language. I already have an application in C++ and Qt where the application redirects the audio streams from different audio input devices to some audio output devices.
In that application, it is possible to get a list of available audio input devices for that PC. Currently, the application already lists Xbox NUI Sensor Analog 4-channel Input as one of the audio input devices, as does ubuntu sound settings application. I have also checked if the Kinect Input audio device supports audio format of 44100 Hz sampling rate, sampling size of 16 bit, audio/pcm codec and 2 channel counts and apparently it does support.
The problem is that, in my application, I cannot hear any sound on the output when I use kinect xbox as the microphone, whereas in case of other audio input devices I can hear the sound just fine. I'm not sure what the solution could be.
I didn't find much about the microphone in libfreenect2 pages either. I know that libfreenect2 lists "audio transfer" as one of it's missing features, but on the other hand in the documentation it is also written in the Issues and Future Work section.
Audio. There is basic access to Kinect v2's audio via ALSA (Linux). However, this is directional audio with intricate calibration, which is probably beyond the scope of this image processing library.
Does this mean that it's still possible to get access to the audio stream from Kinect V2 microphone via ALSA in ubuntu 14.04 or only the fact, at most, that the Ubunut system can only detect Kinect v2 as an audio input device but cannot be used for actual recording purposes?
If it is the first case, could you suggest me how I can get an access to the audio stream of the Kinect microphone(I cannot find anything regarding the audio or the microphone in any of the docs of libfreenect2)? Do you have any other way to get kinect v2 microphone running apart from using libfreenect2?

How to use external HD video camera as input for a Visual Studio, OpenCV project?

I am doing a project regarding image processing and multiple person counting and was wondering, how exactly can I plug my ION AIR PRO PLUS video recording device (similar to a goPro), and use it as my 'webcam'? Basically, I want to plug it in and then access it via a live feed using Microsoft Visual Studio 2010 and OpenCV, and then do real time tracking of people walking.
What I am struggling with is accessing the external camera from my program. Anyone know how to do this?
The video camera has no wifi, only an hdmi output, RGB cable output and a USB.
Attach the USB cable and instantiate cv::VideoCaputre(0). In Linux local cameras have number indices I think in Windows should be the same.
Peter, In the past I have worked on camera products on Windows XP & 7. On windows usb cameras can be accessed using directshow.
You can implement a directshow filter for people tracking algorithm and fit it in the direct show pipeline soon after your camera plugin.
Here is a link to an application stack that may suit your use case(to give you an idea):
http://www.e-consystems.com/blog/camera/?p=1302
The recent windows operating systems that run WinRT, use a latest framework called MediaFoundation. As its very new there are some limitations we found when we tried to build similar applications.
To quickly see a preview out of your camera, pls google for "graphedit" and install it on a Windows 7 pc. Its a fairly simple tool. You can drag and drop your camera, if directshow is supported, then render its output pin and play for preview.
I do not think this is a standard webcam, it appears to work only as a mass storage device. One thing you can try is removing the micro sd card and connect it to the computer. This works on some cameras.
Assuming this does not work, one option would be to purchase an HDMI capture card. The YK762H PCI-E card costs around $40, and will allow you to use the camera with OpenCV, the videoInput library, or DirectShow.
The other option is to use the WiFi live preview. You would have to figure out the commands sent to the camera. This has already been done with the SJCam wifi cameras, the GoPro models, and Sony cameras such as the QX-10 and HDR-AS100V.

Can't get a picture from web-cam with OpenCV when Asus Xtion Pro is plugged in

I can get an image from web-cam (Microsot HD-3000) with OpenCV and everything works fine, when Xtion isn't plug in USB of computer, but if I just plug it in I get only a gray image from web-cam. Skype can't get image too. Xtion works well with OpenNI 2. I use Windows 7 x86 on my Computer and OpenCV 2.4.0.
The problem you are likely facing is the limitation of the USB bus. Especially Microsoft lifecams are sensitive to this problem as they tend to grab the maximum bus speed they can. If they can't do this they stop working. The solution to this can be either very simple or a little more complicated.
1: Switch around USB plugs. Some mainboards have different USB buses on different ports. By swapping around you might be able to find a configuration that does work for you.
2: Expand your system with another USB bracket. If the solution in 1 doesn't work you're going to have to expand your computer with more USB ports to get around the bus limitation.
3: Use as less USB devices as possible, don't use the ASUS Xtion, or buy a different webcam

Select which Webcam to use in OpenCV

I have a built in webcam (HP) and an USB webcam. Whenever I use webcams in OpenCV, the built in webcam is used. However I want use the USB webcam. I tried disabling the built in webcam and even uninstalling the drivers, but after doing that, I get a message saying that no webcams were detected, even though the USB webcam is connected. How can I use the USB webcam instead of the built in webcam? I have searched the net top to bottom and have found no fix.
Thanks
The command CaptureFromCAM accepts an integer as its only argument which specifies the device number to use. Change this number and it will use a different device.