03-21-2019 11:26 AM
Hi Maurice,
If your camera only supports YUY and JPEG, you are indeed out of luck for a ring. There's nothing you can do to get around that error.
Unfortunately parallelism becomes a little more complicated in the grab case -- the ring API allows for the extraction of a buffer, which indicates to the driver that it's being used and not to do anything with it (like overwrite it with a new image). Since grab just copies out the data and the acquisition continues, you have to keep track of your own images to do something similar with a grab.
Since we know this can be burdensome and this is a common use-case, we're updating our examples for VAS 19.0 to include one that does this, including helper VIs for the image management. This should be released in the late May time frame. In the meantime if you need something sooner, contact support.
Hope this helps,
Katie
03-21-2019 11:36 AM
Hi Katie, thanks for the quick reply.
In that case, can you give me a suggestion if my goal is to:
1- acquire frame from camera
2- send frame to parallel loop for processing
If I try to send the frame using a global variable, I get an error saying that an image was not received, I assume this happens because the image is being overwritten before it can be processed in some cases. Can I use a queue to send the image and have it execute reliably instead? Will I run into memory issues if I do this?
03-21-2019 05:07 PM
Hello,
I'm not sure exactly what you mean about the image not received error, but yes you'll probably need multiple queues/fifos to handle images that are ready for acquisition and images that are ready for processing. To avoid unbounded memory usage, you need some way to recycle images back into the ready for acquisition queue when you're done.
Unfortunately I can't just post the new example here by itself because there are all these helper VIs and new things in the llb that it depends on. If you contact support we may be able to find some way to get you this code sooner than the release date.
Regards,
Katie
01-06-2021 12:15 PM
Hi Katie, I'm running into a similar issue as Maurice was. Could you share the location of the example mentioned? Thank you so much for your help! -Haley
01-06-2021 02:53 PM
Hi Haley,
The newer examples using Grab are here:
<LabVIEW dir>\examples\Vision Acquisition\NI-IMAQdx\Design Patterns
Look at Parallel Processing and Pipelined Processing examples. The ones that say (Optimized Performance) using Ring and the others use Grab.
Hope this helps,
Katie