Find a round pattern in an image

2 次查看(过去 30 天)
Hello,
I apologize in advance if a similar question has already been asked and answered.
I am currently processing 2-D images. The images have been converted into matrices. My objective is to identify a round patterns in these images so I can define a "center" or centroid for each of my images. What I consider to be the center is a point of high intensity at the center of a zone of decreasing intensity.
Here are to links to two sample pictures:
As you can see the "center" I am looking for is quite clear in the second image However in the first image the presence of a zone of high intensity on the left makes it difficult to find the point which I consider to be the center of my pattern.
What I have already tried:
Looking for the maximum value of the matrice (works most of the time but not all).
Using "center of mass" algorithms.
Attempting to fit a 2-D gaussian.
Looking at the gradient matrix to find maxima.
Thank you in advance for any answer and please tell me if there is anything I can do to clarify my question.

采纳的回答

Nicolas  Gautier
Nicolas Gautier 2011-7-6
Thank you for your suggestion.
It does seem like a Hough transform could be of help. However I found out this kind of transform works with binary images. Finding the right treshold for each image can be tricky.
I did follow a link on the wikipedia page you suggested that helped me a lot. Here is the link http://en.wikipedia.org/wiki/Blob_detection The first method suggested in this page enabled me to detect the structures I was looking for. It even helped me with some images I thought were not clear enough (like the first figure). An additional benefit to the blob detection method is information on the size of the structure in question.
Thank you again for your help. I would be happy to share my code with anyone interested.

更多回答(1 个)

Clemens
Clemens 2011-7-4
Sounds like a textbook example for hough transform.
Look at: http://en.wikipedia.org/wiki/Hough_transform Especially scroll down - there is "Sample MATLAB code for Xie and Ji's ellipse detection method" - maybe you can directly use it.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by