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
    Commented Jul 19, 2012 at 19:14
  • $\begingroup$ yes, they are concentric. and no spacing is constant. $\endgroup$
    – JingKe
    Commented Jul 19, 2012 at 20:23

1 Answer 1


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 and acknowledge you have read our privacy policy.

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