07-13-2010
09:48 PM
- last edited on
03-31-2025
12:47 PM
by
Content Cleaner
Hello everyone,
Recently my friends and I have begun a project which requires the simultaneous acquisition of images from two independent USB cameras. Throughout our project research we have encountered many difficulties. The major problem appears to be how to successfully interface two USB cameras and properly save the image to a median for further processing down the road.
Our first attempted at this was with the USB IMAQ drivers. Unfortunately, to our surprise, it does not support two independent and simultaneous camera acquisitions. To combat this problem we implemented a crude loop of closing a camera reference, then opening the other, acquiring an image, then closing, etc... This did provide us with functionality but was very inefficient, resulting insufficient acquisition speeds.
Afterwards we began looking at other ways of capturing and writing the image, which are listed below.
Various Acquisition Interfaces / StrategiesUSB IMAQ Driver - USB interfacing kit available for public download, (not officially supported by NI) zone.ni.com/devzone/cda/epd/p/id/5030
Status - Abandoned because of the lack of dual web camera support
Avicap32.dll - Windows 32 DLL responsible for all web camera communication, and other media devices.
Status - Currently acquired two streams of video on the front panel but with no way of saving the images
Directx - The core Windows technology that drives high-speed multimedia on a PC.
Status - Currently researching.
.NET - Microsoft .NET framework, possibly a valid interface to a video stream.
Status - No development until further progress.
We are still currently developing the Avicap32.dll code but the major bottleneck is the learning curve on the property nodes, library calling nodes, .NET and other references. So far it’s been a tedious effort of trying to understand example code and piece them together. As a former programmer of C I know this is not the proper way of writing code web I can’t seem to grasp how these functions work. (Property nodes, library calling nodes, .NET and other references). Learning this may allow us the knowledge to code a proper system. Does anyone know any good tutorials or learning material for such functions? So far my research has come up empty handed.
We are currently working with these interfaces and other reference examples on the NI site. Unfortunately we cannot seem to properly integrate the code for our system. Does anyone know if this setup is even possible? Also, if anyone has any experience with similar systems and can offer advice, code snippets, or any other assistance it would be greatly appreciated.
Our current projects will be posted below if you have any suggestions. (More will be added when I get to my desktop tomorrow)
Two Camera Avicap32.dll - Currently stuck on how to save the image, various tweaks have gotten us stuck at this point ( will have another Avicap32.dll implementation posted tomorrow)
USB Capture Example - This USB capture VI was an example that immediate had problems. We used it as a baseline for crude open-close camera image grabbing system. (Will also be posted tomorrow)
Thanks for any help, it's much appreciated.
Taylor S. Amarel
Thanks,
Taylor S. Amarel
07-14-2010
12:52 PM
- last edited on
03-31-2025
12:47 PM
by
Content Cleaner
Hi tsa256,
You might want to look at this KnowledgeBase:Can I Acquire from Two USB Cameras Simultaneously with NI-IMAQ for USB Cameras 1.0?
Thanks and have a great day.
Esmail Hamdan | Applications Engineering | National Instruments
07-14-2010 02:41 PM
Thanks for the information but that's not exactly what I'm looking for. I've been to that URL and read the information before. I don't mean to disparage you help but I'm looking for ways that I can successfully implement a functional system, not information on an unfunctional method. Maybe I was unclear before, I'm looking for any advice, knowledge or help on how to make this system properly work.
Thanks, have a great day.
Taylor S. Amarel
07-16-2010
09:43 AM
- last edited on
03-31-2025
12:48 PM
by
Content Cleaner
Hi Taylor,
If you want to use USB cameras with LabVIEW, you need to do it through IMAQdx now, not the IMAQ for USB Drivers. Now, you can acquire from 2 USB cameras at once with IMAQdx . The old IMAQ for USB driver isn't supported by National Instruments anymore. You can get the IMAQdx by installing the Vision Acquisition Software.
Thanks and have a great day.