LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

imaq multiple overlays

Hi,

I am capturing spot images from a camera and displaying the result using Labview Imaq VIs. I have to capture 10 images and each time the spot moves on the image. I want to show the user the pattern that the spot moves so thought I'd use the Imaq Overlay function to show the previous dots. This is 1 VI that is looped 10 times using TestStand.

Unfortunately every time the VI shows the image the prvious spot disapears. Is there a way to show multiple spots (see attached picture)?

Chris

0 Kudos
Message 1 of 5
(5,028 Views)

So without seeing code it is difficult to see what you are doing.

-Now when image is acquired-> You overlay on that image and when next image you again do overlay on new image with new data.

-If image remains same then you should be using shift register and use the ROI Descriptor on the same image.

 

Edit: Post Snippet(http://www.ni.com/tutorial/9330/en/) or VI it can explain better.

Thanks
uday
0 Kudos
Message 2 of 5
(5,003 Views)

Try to hold previous ROIs and use IMAG Group ROIs to display Multi ROI.

 

Check this VI, May be useful.

 

C:\Program Files (x86)\National Instruments\LabVIEW 2015\vi.lib\vision\ROI Tools.llb\IMAQ Group ROIs

----------------------------------------------------------------------------------------------------------------
Palanivel Thiruvenkadam | பழனிவேல் திருவெங்கடம்
LabVIEW™ Champion |Certified LabVIEW™ Architect |Certified TestStand Developer

Kidlin's Law -If you can write the problem down clearly then the matter is half solved.
-----------------------------------------------------------------------------------------------------------------
0 Kudos
Message 3 of 5
(4,997 Views)

Overlaying Images is an interesting concept.  What you often mean is that you want a selected portion of Image 2 to replace the corresponding pixels of Image 1.  Note that in some selected circumstances, you can be "creative" and make an overlay by selectively colorizing a greyscale image.

 

But let's say you want to do it the first way I mentioned above.  If you were doing this with images on paper, you would carefully cut out Image 2 and paste it in place on Image 1.  Well, the "paste" operation in the Image world means "replace the pixels", which is usually a several-step process.  First, you form a "mask" that matches the Pixels you want to overlay from Image 2 onto Image 1.  You use this Mask to zero out all the Pixels in Image 1 that are covered by the mask, effectively "erasing" the space you'll place Image 2.  You then use the inverse of the mask on Image 2 so that it consists only of the pixels you want to add.  Now add these two sub-images, effectively "pasting" Image 2 into a "hole" you created in Image 1.

 

Bob Schor

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

If overlay works on the same image (you do not delete - create image every frame), overlay oval and all others do not clear previous overlay. Clear overlay is separate function you need to call if you want to empty all overlays.

Another way is to ADD (or, better, OR) displayed image with binarized new one. This way you will also have trace of acquired dots .

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