Showing results for 
Search instead for 
Did you mean: 

How to realize a high-speed IMAQ acquisition

I’m trying to use 1427card to acquire images at a high speed.


At first, I'm using a loop and a Grab.VI to get the images I need and trigger this acquisition using a square wave through a function generator.

When the frequency of the trigger signal is low ( <500Hz ), everything is ok.

But if the frequency is high ( >500Hz ),the program will slow down, taking more time than expected.


However, if i use the Grab, it will take a lot of time to create a large images array.


Can you guys help me with this? I'm very grateful.

0 Kudos
Message 1 of 5

Separate the image acquisition and the process into 2 loops.

Manage the image buffer yourself.  Don't use IMAQ for buffer manage: don't use buffer index.


Get a faster computer.  Use Solid hard drive.

Use LabVIEW 64 bit, so that you can take advantage of RAM > 4GB.


George Zou
0 Kudos
Message 2 of 5

Also remove Image display and every iteration big results if any  (if you really need to see them, show every 100-th frame), disable debugging in VI properties -> Execution

Is it large data or fast processing application? Do you get close to 4G memory limit of 32 bit system?

What is taking most? Acquisition, processing, display, or saving to disk? 

0 Kudos
Message 3 of 5

Thank you for your advice, but in NI-IMAQ I need to create images first and this action will take a long time.

I try to use local variable to speed up but an error occurs.

0 Kudos
Message 4 of 5

Create those buffer images outside loop.

Use circular buffer.


George Zou
0 Kudos
Message 5 of 5