From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Compare Golden Template not working in a for loop (vision)

Hi to all,

 

First of all thanks a lot for reading this post and being able to help.

 

I am trying to use Imaq Compare Golden Template vi in a for loop.

So I am trying to do the next:

 

1- I have 3 templates and 1 image inspection.

2- The templates are in the image inspection. So imagen that the image inspection is an image with a big 1 2 3 numbers. So the templates are 1, then 2, and then 3. An for loop has 3 iterations.

3- In each iteration I pass a template, with IMAQ pattern matching vi template is found in an image (getting bounding box) and then do the compare golden template to get the defects (differences between template and image).

 

I am doing the program based on this example "LabVIEW\examples\Vision\Golden Template Comparison\Golden Template Inspection.vi"

 

My program is the next (attached as well):

drawDefects.png

 

The problem is the next:

· If I do this just for one iteration, code works fine. But the problem is that when i do the next iteration, the defects of before iteration is removed, so always I get the defects of iteration 3 (the last iteration) so I thing that I need to create a image with all defects, so combine "defect image" in every iteration in one. I try to do this with IMAQ add (red circle in image) but it does not work.

 

Any ideas? Please tell me if I do not explain well.

 

Thanks a lot.

0 Kudos
Message 1 of 6
(2,951 Views)

You're using a shift register with a single buffer.  The shift register will only store the last value.

 

You want to get away from the shift register.  Then, you want to allocate three buffers and feed those into your for loop so the first iteration acts on the first buffer, the second on the second, and the third on the third.

 

That way, each iteration is working in a different space.  Otherwise, each iteration will clobber the work done in the prior iteration.

 

The golden template is working just fine if this works in a single iteration and you get the last template's data with multiple iterations.  The problem is the way you're storing your calculations.

0 Kudos
Message 2 of 6
(2,927 Views)

Also, using auto-indexing and wiring the [N] isn't a good thing.  Just use auto-indexing and let the FOR loop handle how many times it needs to iterate.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 3 of 6
(2,917 Views)

Hello,

Thanks a lot for replying.

I do what you say and now I have the next code:

defectVI.png

 

But as you say, I have now three images (Cam1_PROD_display, Cam1_PROD_display2, Cam1_PROD_display3) with defects drawn in each templates, I mean, defects in template 1 are drawn in Cam1_PROD_display, defects in template 2 are drawn in Cam1_PROD_display2, defects in template 3 are drawn in Cam1_PROD_display3. Something like this:

· Source image is the next (with defects in white):

sourceImage.png

· Templates are:

    Template 1            Template 2              Template3

template1.pngtemplate2.pngtemplate3.png

 

- And the displays Cam1_PROD_display, Cam1_PROD_display2, Cam1_PROD_display3 show the next in each display (with defects in red):

display1.pngdisplay2.pngdisplay3.png

- But I want just a display which shows all defects in one image like this:

displayIwanted.png

 

How can I do that with the code that I have?

 

Thanks a lot 

 

 

0 Kudos
Message 4 of 6
(2,885 Views)

Thanks!

I did what you said in for loop.!

 

I am still stacked, any ideas?

 

thanks a lot.

0 Kudos
Message 5 of 6
(2,869 Views)

Can anybody help me?

 

Any ideas help me a lot!

 

Thanks.

0 Kudos
Message 6 of 6
(2,854 Views)