Speed up NI-Vision Image Acquisition with Post-Processing in LabVIEW

Updated Dec 22, 2023

Environment

Software

  • LabVIEW

Driver

  • Vision Acquisition Software

I am using NI-Vision to acquire multiple images and perform some image processing on them. I've noticed that my image acquisition rate is slower than I expected. How can I increase my image acquisition speed in this setup?

There are two ways to increase your image acquisition speed in this setup: One uses the Vision Acquisition Express VI while the other uses the Vision Acquisition Software (VAS) driver calls. The Vision Acquisition Express VI is easier and quicker to use, but is less efficient and has more limited functionality than what can be achieved by using the VAS driver calls. In order to use the process described in this article with the Vision Acquisition Express VI, you will only be able to do a finite acquisition. For continuous acquisition applications, consider using the VAS driver calls.

Vision Acquisition Express VI

1. After placing the Vision Acquisition Express VI, in the Select Acquisition Type step, select Finite Acquisition with Post Processing and set the number of images you wish to acquire.
 

2. After finishing configuring the remaining steps of the Vision Acquisition Express VI, set up your block diagram similarly to what is shown below. In this setup, the Vision Acquisition Express VI will continue acquiring images until it reaches the specified number. It will then send all of the images to the For Loop to complete post-processing. In this setup, the image processing (which is often far more time consuming that the acquisition itself) happens after the acquisition is complete to prevent slowing the acquisition down.
 

VAS Driver VI's

Set up a Producer/Consumer architecture with post-processing to be done in the consumer loop. With this architecture, the image processing (which is often far more time consuming that the acquisition itself) iterates independently of acquisition to prevent slowing the acquisition down. Shipping examples of this are included within LabVIEW. You can navigate to them by following these steps: In LabVIEW, click Help » Find Examples » Hardware Input and Output » Vision Acquisition » NI-IMAQdx » Design Patterns » Parallel Processing VI

Additional Information

For faster acquisition rates, any image File I/O processes should happen in the same locations as the post-processing following the structures highlighted in this article.