Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

follow circle with overlay

Solved!
Go to solution

Hello,

 

I have some messy data from a camera. It is a concentric ring pattern which changes with time - each ring splits into two, each of these components moves away form each other. I would like to fit one set of these rings. 

Could someone point me in the right direction or have any tips for a stategy to start? I thought I could use the annulus overlay to have the user select one set of rings, then somehow have the overlay 'follow' the data as it moved (easy or hard?).

 

I removed the IMAQ acquisition components and have taken a series of images, loaded them into a loop to try to show the effect as an animation (vi and data attached).

 

Any help would be appreciated.

I have looked at this example: http://forums.ni.com/t5/LabVIEW/Fit-2D-data-in-to-Circle/td-p/668858/page/2?view=by_date_ascending
 which may be of some use if I manipulate the data, but is this the correct way to go?

And have tried using the machine vision ->  Analytic geometry -> "IMAQ Fit Circle 2" control, but there is no example vi or tutorial for this control (or many of the other analytic geometry tools).

 so am unsure exactly how it works.

 

 

Thanks,

Download All
0 Kudos
Message 1 of 5
(5,126 Views)

So, all the circles have the same center, but the circles separate?  Does one go outward while the other goes inward?

 

I would find the center of the circles and use radial analysis.  Combine the data from several radii to get intensity versus radius, and watch the plot change.  This might reduce it from a 3D problem to a 1D problem (or is that 2D?).

 

Bruce

Bruce Ammons
Ammons Engineering
Message 2 of 5
(5,097 Views)

Correct, all same center & one component goes inward while the other goes outward.

 

Interesting, do you have or know of an example of a VI using radial analysis?

 

I have thought about not fitting circles and reducing it to a 1D problem - I could just take a line profile through the center (the pixel intensity along a row of pixels), then watch the peaks in the profile move, I could easily fit the peaks with a combination of gaussians.

 

I just thought it might be nice if it was possible to have an overlay 'track' the data somehow (by possibly fitting a circle every frame or somehow locking on to a specific circle). My data may be too messy (and this is a particularly clean case, it gets messier + the components get very close and almost unresolvable..)

 

Thanks,

 

 

0 Kudos
Message 3 of 5
(5,093 Views)
Please check if concentric circle detection might be of any help.
Thanks
uday
0 Kudos
Message 4 of 5
(5,087 Views)
Solution
Accepted by topic author Jeff_Tech

I would probably look at the line profile.  If it is noisy or has spots, you could average several radial lines (up, down, left, right) to get more uniform data.

 

Peak detection would probably find the brightest part of each circle, and could find local maximums.  You could process these to find what you are looking for.  Two circles very close together would probably be identified as a single peak.  Looking at the data would be the first step.

 

You could use overlays to draw the located circles onto the original image.  This would help you know if you are tracking them correctly.

 

Bruce

Bruce Ammons
Ammons Engineering
Message 5 of 5
(5,072 Views)