09-10-2012 11:51 AM
I am using LabView for an imaging project. In the code I have two separate while loops running (for the most part) independently. The small dependence -if this is a dependence at all- comes from the fact that the first loop is continuously taking an input image and storing it in a temporary buffer; each iteration of the loop replaces what is in this image buffer. Now the second loop takes whatever is in that buffer at the moment an iteration starts and does some processing.
My question: How is a buffer overwritten? Does it replace one pixel's worth of data at at a time? Could the second loop access the buffer while the buffer is in mid-process of being over-written and thus generate a faulty output?
09-10-2012 12:34 PM
Imaq Image spaces are much like pointers and very deferent from traditional wires in LV. Imaq copy will copy one image form one buffer to another for processing, also many imaq processing vi will allow for destination buffer to be specified.
09-10-2012 02:52 PM
Suppose I have a third party VI which grabs an image from the camera and places it into a buffer (which is wired into the VI). This VI is placed in a loop so that it continuously grabs images. Before the loop runs, I create the required (single) temporary buffer using IMAQ create outside of the loop.
So, could you explain the mechanics of what's going on with the buffer in this situation? If you need more details to answer the question, please let me know.