USB 2.0 Camera Properties Can't Be Modified

Updated Dec 18, 2017

Reported In

Software

  • LabVIEW Base
  • LabVIEW Full
  • LabVIEW Professional

Driver

  • NI-IMAQdx

Other

DirectShow, USB 2.0 Camera 

Issue Details

I am working with a USB 2.0 camera that uses DirectShow. I am trying to read or modify camera attributes and settings in MAX or LabVIEW by using the IMAQdx driver.
The properties are displayed and can be accessed but problems like these occur:
  • The property can not be modified although it can be modified with the software the vendor provided
  • The property can only be set to certain values but the vendor software allows me to set that property to a wider range of values
Why are my options limited when using IMAQdx?

Solution

DirectShow provides a mechanism for exposing camera attributes, but many camera manufacturers do not make use of this feature because it is not a required part of the DirectShow standard. DirectShow is a communication layer that is an industry accepted standard for bringing images to a computer from a USB 2.0 camera. These camera manufacturers often allow the user to modify camera attributes using their own proprietary software. 

The same is not possible in MAX or LabVIEW because National Instruments adheres to a strict usage of DirectShow so we can communicate with the wide variety of cameras we support. If the camera manufacturer did not expose the camera attributes through DirectShow, then the IMAQdx driver, which interfaces to DirectShow to control your camera, will not be able to see them. However if you have access to the vendor's driver it can be possible to create a wrapper in LabVIEW that calls the native driver functions. This requires knowledge of how the driver is composed. This information needs to be provided by the vendor of the camera.

Additional Information

A good way to avoid problems like these is to use cameras that work with another standard. USB3 Vision and GigE Vision are common standards that can be used with IMAQdx.

WAS THIS ARTICLE HELPFUL?

Not Helpful