03-20-2012 12:35 PM
No. It's not that. There was a Problem with attachments starting Thursday, March 15. It is now fixed.
03-20-2012 12:43 PM
Thank you for letting me know.
I tried it today and it works.
We checked our 'side' before and watched for a few days and decided the hosting site was down.
03-20-2012 01:28 PM
Hi Hans:
I also implemented the create/pass via queue/destroy reference (pointer to memory holding image), but I'm still slow in the producer loop when the consumer loop is also running, and I'm missing frames. Does the control help alleviate this somehow, or is the trick in the IMAQ Copy?
(interesting how this keeps surfacing each March)...
Thanks in advance,
Rick
03-20-2012 01:38 PM - edited 03-20-2012 01:39 PM
When I have to do this kind of thing, I intially create an array of image references and initialize them to the size of the images I am acquiring (usually 10-20, depending on what I have to do with them). I then just loop through them as I am acquiring, so when I pass one of the references into a queue, I don't have to worry about it being overwritten by the next frame acquisition. This way I don't have to continuously create and destroy them. From what I was told many years ago, individual images need a contiguous block of memory allocated, so it is better to allocate them at the beginning than on the fly.
03-20-2012 01:51 PM
Hi Randall - that's an idea I'll try out. I'll code it and report back while watching for Hans' reply also.
Were you able to get decent 'streaming' (not choppy) video this way?
Rick
03-20-2012 02:21 PM
Worked fine for me. Since all memory is already allocated, each frame is just written to a different location. It should be just as fast as writing to the same location repeatedly.
03-20-2012 02:58 PM
I haven't worked on this project for a couple years and I think that app only needed a frame rate of 1Hz, not smooth video. I like Randall's approach. It's a circular buffer for images with no wasted time allocating memory over and over.
Hans
04-18-2012 02:24 PM
I'm working on implementing that right now - finally back on this project.
I like the idea of allocating ahead of time, and I will now know how long the data capture is going to be, so it should not be very hard.
Thanks!
Randall - can you share the basics of how you allocated and stepped through the buffers?
02-18-2013 04:45 AM
Hello All,
Can anyone above please post the VI ,to implement the circular buffer as mentioned by Randall Pursley. I have found one thread similar to this buffering , like allocating memory before acquisition.
http://208.74.204.114/t5/LabVIEW/queueing-the-IMAQ-image-data-type/td-p/1109563
Is the implementation in the above thread is circular buffer ??????? or Is it something different ??
Regards
Neo.
02-19-2013 03:50 PM
Hi Neo,
I don't understand what you mean by circular buffer?
Randall's solution seemed to be just pre-allocating memory for an array that will be used later on in the program.
You may want to try and send Randall a PM if you are interested in his code.