Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

multi-camera acq w/IMAQ-Vision processing; how to translate buffers?

I have a multi-camera system using genlocked cameras and a PCI-1408. I'm developing my application using LabWindows/CVI. I can acquire from each camera in turn using NI-IMAQ low-level functions (ref.: scan 1408 channels.c), but I want to process the images using high-level IMAQ-Vision functions. How do I translate an image captured into a low-level buffer (imgCreateBuffer) into an Image buffer (imaqCreateImage)? Are the buffer structures from imgCreateBuffer the same as imaqCreateImage, so that I can simply cast the void* returned from imgCreateBuffer to an Image* parameter in an imaq_xxx function? If not, how do I move an image from one buffer type to the other?

Thanks!

Jesse
0 Kudos
Message 1 of 2
(3,181 Views)
Well, I'm answering my own question!

Turns out that the image buffer from imgCreateBuffer is an integer array. To get this into an Image structure from imaqCreateImage, use imaqArrayToImage.

Hope this helps the next person.

Jesse
0 Kudos
Message 2 of 2
(3,181 Views)