Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem getting high speed camera to capture at desired framerate

Hi,

 

I have developed this VI in order to capture the AVT Bonito Camera-link Camera images in high speed. I am trying to grab images at the 380frames per second (effectively 2.6ms interval per image). Here is my VI so far. I have two framegrabbers (PCIE-1433 cards synchronized with RTSI). This is required to get full framerate on this camera at a high resolution (2320 x1726), by splitting the camera images into two images (which is split into two cameralink cards) and then recombining them. There is a slight lag time between trigger of one frame grabber to the other.BonitoVI.png

 

The following is the interval time between each frame grab, which comes out to be between 5-6ms instead of the desired 2.6ms. Fluctuations are most likely due to the slight timing lag between each half frame coming in and creating a whole frame, due to the design of my RTSI setup.

 

Intervalgraph.png

I think a good amount of delay is coming from IMAQ grab not being able to capture images as quickly.

 

My question is as follows:

1) Rather than deploying several IMAQ create modules, is there a better way to deal with high speed camera capture?

2) How do I get the PCIE-1433 card to capture images quicker?

 

There must be something I am doing wrong in the high speed camera application. 

 

Thanks.

 

0 Kudos
Message 1 of 4
(5,165 Views)

Don't try to combine the two imag halves during acquisition if at all possible.

 

Run each camera instance in its own loop.

 

Use an i5 or i7 CPU to insure faster performance.

 

Use a buffered acquisition if you can, rather than saving each image to disk.  You will probably need to use the 64-Bit LV if you want to take advantage of larger chunks of memory.

Machine Vision, Robotics, Embedded Systems, Surveillance

www.movimed.com - Custom Imaging Solutions
0 Kudos
Message 2 of 4
(5,124 Views)

I combine the two halves only when doing calibration for the camera, then once I activate save image mode, several instances of IMAQ iamge are created (imitating a buffered acquisition). I'm sure there is a more elegant solution, but I've tested this method on other cameras, up to 180fps, it works. It saves the images after the acqusition is finished. Thanks for the suggestion on running each camera instance in its own loop. But I think ive covered the rest in the VI.

0 Kudos
Message 3 of 4
(5,107 Views)

Using a Ring Acquisition may be the more elegant you're looking for. You can find detailed information on it here: http://www.ni.com/white-paper/4001/en/ That white paper should be helpful, but please ignore the formatting towards the bottom. I've made a note to fix it. I also agree with MoviJOHN in that you should place each of the Grabs in their own while loops and consider 64-bit LabVIEW if you're running into any memory limitations.

 

Mike

0 Kudos
Message 4 of 4
(5,080 Views)