LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Two Simultaneous USB Camera Image Acquisition and Saving

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 / Strategies
USB 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

Learning is living.
Co-Founder and CEO of http://3dprintingmodel.com/

"If we did all the things we are capable of, we would literally astound ourselves."
-Thomas Edison
Download All
0 Kudos
Message 1 of 4
(4,739 Views)

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

0 Kudos
Message 2 of 4
(4,719 Views)

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 

 

Learning is living.
Co-Founder and CEO of http://3dprintingmodel.com/

"If we did all the things we are capable of, we would literally astound ourselves."
-Thomas Edison
0 Kudos
Message 3 of 4
(4,707 Views)

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.

0 Kudos
Message 4 of 4
(4,681 Views)