Domanda

I'm trying to detect concentric circles in an image of a paper target using AForge.NET. I can clean up the image using Threshold(88) or Edges, but can't work out how to detect the circles.

Original image size = 450 x 479 px

Steps so far:

  1. convert image to greyscale
  2. use Edge to find circles (Threshold(88) also works)
  3. Run HoughTransform with radius of = 100, output using 'ToBitmap'
  4. Count the circles found (I get 69750 circles detected)
  5. Draw the 20 most intensive circles

I don't have a background in image processing; any guidance very much appreciated.

Original Image Greyscale Edges Hough Transform Draw circles

È stato utile?

Soluzione

The Solution, in this case, was not to use a Hough Transform at all.

  1. I used a threshold and blob detection to find the outer circle which gave me the centre.
  2. Then an horizontal-intensity histogram to find the peaks that correlate with each ring
  3. Then compare this against the peaks from a vertical-intensity histogram, to get the radius of each ring
  4. Then some sanity checking.

I haven't got the peak detection working yet, but it's in progress and it all looks like working.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top