Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Deindexing Geometric Pattern Matching

Dear all,
   My senior project involves fixed mount camera calibration, and due to various considerations I am working in LabVIEW.  However, I ran into a quick problem.

I'm creating the templates for matching in the Vision Assistant, and after the camera has been jostled, the software will allow a user to reorient the camera to an original state, which will be useful in determining real world positions for other people working on different aspects of the project.  However, the pixel matches that are being outputted from the geometric pattern matching vi come in clusters, which I can unpack into arrays, but I cannot get at the actual data inside that array.

Even if I try to index the specific elements, when I output the data to the front panel, I get the full information box containing centroid, angle of alignment, occlusion, etc.  I want all this data, but I need to be able to put it in more user-friendly terms, so I would like to eventually be able to subtract off the original centroid values and tell the user "You are 10 pixels too high."

Is this just a dumb mistake in terms of indexing arrays, or is this a matching vi specific problem?  This is my first time using and learning LabVIEW, so any help would be appreciated.

 - Jeff
0 Kudos
Message 1 of 3
(3,257 Views)

The easiest way is to wire the array of pattern matching results into a for loop.  Inside the for loop, use unbundle by name to extract the data you need (X, Y, etc.) and wire these out as arrays.  You can either bundle them back together inside the loop or keep them as separate arrays.  This gives you the details you are interested in within a tidy cluster.

Bruce

Bruce Ammons
Ammons Engineering
0 Kudos
Message 2 of 3
(3,253 Views)
Thanks Bruce.  I appreciate it.
0 Kudos
Message 3 of 3
(3,249 Views)