NI IMAQ/Vision 16-bit Image Display Issues

Updated Dec 12, 2023

Reported In

Driver

  • NI-IMAQ
  • Vision Acquisition Software

Issue Details

Frequently asked questions regarding image display in IMAQ and IMAQ Vision. Emphasis is placed on lookup table and 16-bit image issues.
  1. IMAQ Create has 8-bit and 16-bit options; but I have a 10-bit digital camera. Where is the 10-bit option?
  2. In Vision Assistant, "Brightness" is grayed out in the "Image" menu when I am working with a 16-bit image.
  3. When I save a 16-bit grayscale image to a PNG file using the IMAQ Write PNG File.vi and then view the file using Adobe PhotoShop or Microsoft Paint, it appears that the image has been distorted. Why isn't the file being saved properly?

Solution

  1. Creating Image Buffers for Non-Standard Bit Depths
IMAQ Create has 8-bit and 16-bit options; but I have a 10-bit digital camera. Where is the 10-bit option?

You will be able to display the image if you use the 16-bit option. There will be a few bits that are unused. The 16-bit option can work for any image depth less than or equal to 16 bits.

Likewise, a 24-bit color image should be stored in the RGB-32 (or RGB Chunky) image buffer. In more recent versions of NI-IMAQ, this image type is simply called RGB.
 
  1. Adjusting Brightness and Contrast for 16-bit Images
Because the built-in tools for brightness and contrast are based on a 0-255 scale (8-bit), an artificial means must alter the brightness and contrast of 16-bit images. Use the image operators to add/subtract in order to increase and decrease brightness and multiply/divide to increase and decrease contrast.​
 
  1. 16-Bit Images Saved Using IMAQ Vision Appear Distorted in External Viewers
The file is being saved correctly and all 16 bits of information are saved with the file. The issue here is that the standard display adapters (VGA) and the Windows API do not support a 16-bit grayscale image. It is because of this that most commercial image processing programs, such as PhotoShop and Paint, only use the upper 8 bits of a 16-bit grayscale image for display and disregard the lower 8 bits. This results in a distorted look to the image displayed by the commercial program. If you open the file and display it using an Image Display from inside LabVIEW you will see the image you expect. This is because the Image Display will scale the dynamic range of pixel values in the 16-bit image to 8 bits. For more information on how the image is scaled, see the Help (*.chm) file, which installs with Vision, for information on the Image Display function.