I have got the following image:

enter image description here

There are curvs on the picture. i would like to find center of the circles containing curves.

i tried opencv and hough circle transform but had no results.

  • $\begingroup$ are all the curves concentric? is the spacing between them variable? $\endgroup$
    – endolith
    Jul 19 '12 at 19:14
  • $\begingroup$ yes, they are concentric. and no spacing is constant. $\endgroup$
    – JingKe
    Jul 19 '12 at 20:23

You'll need to improve the contrast of the image first, then filter it strongly to remove the noise. since the circles are 'thick' (blurry), you can filter quite a bit without destroying the circles structure.

I would then apply some edge detection algorithm to get a binary edge image that can be processed by the Circular Hough Transform.

I get the following edge image from your image: enter image description here

Using the following MATLAB commands:

 % x is the input grayscale image. First we adaptively improve the contrast over the image
 y= adapthisteq(x);

 % next we use the Canny edge detector with a strong Gaussian lowpass filter
 ee=edge(y, 'canny', [], 5);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.