Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Modifying VI - Vision Assistant

I have images that consist of an area of particles and an aera of no particles. I am trying to fit a circle to the edge, between the regions where there are and are not particles. I want to use the find edge tool, and I want to find the pixel where this transistion takes place for every row of pixels. For example, I want to draw a horizontal line that will give me the location of the edge then move down one row and repeat. I have tried using the find circle edge, but since I am trying to fit a circel to an edge that isn't well defined, I need a lot more data points to average over. I figure there is a way to modify the VI to perform the process I described above. Any help would be much appreciated. I have attached the images to give you a better idea of what I'm trying to do.

0 Kudos
Message 1 of 3
(3,014 Views)

Hi Windom,

 

If the find circle edge is not working for you, I would suggest thresholding the image. Then you could use the morphology functions (such as Close, Fill Holes, and Erode) to further manipulate the image to get a stronger edge between the areas of particles and not particles.

 

You can use a For Loop (initialized to start looking at the top of picture) and have it iterate vertically down the picture with the Edge Detector. You can do that by changing the ROI Descriptor for the line you are detecting edges with, and then you can read the Edge Information out of the VI. These all need to be checked in the "Select Controls" menu, which is found at the bottom right of the Vision Assistant window.

 

I hope this helps, let me know if you need any further clarification.

 

Best Regards,

 

Nathan B

Applications Engineer

National Instruments

Download All
0 Kudos
Message 2 of 3
(2,996 Views)

You might get closer to the results by using either Find Circular Edge, using a much finer angular spacing, or using Rake.  You can set up the Rake to use 1 pixel increments, and return the first or last edge for each row.  It will take a little while to process every row, though.

 

I agree that preprocessing with several iterations of dilate followed by an equal number of iterations of erode should help you locate the edge easier.  It will join together all the little particles, making the edge clearer.

 

Bruce

Bruce Ammons
Ammons Engineering
0 Kudos
Message 3 of 3
(2,984 Views)