Extracting distorted circles from image

  • Follow


I have an image with several "circles", they actually have some irregularities (bumps around edges, connections with neighboring circles, etc.). I would like to get a best fit of a circle to these shapes. I have seen the "Measuring the Radius of a Roll of Tape" demo, but I can't seem to figure out the best way to work with a shape that isn't a perfect circle.
To remove the connections between circles, I tried using :
se=strel('disk',20);
bwnew=imopen(bw,se);
This works OK, but the output shapes are all octagon like, and some are significantly smaller than the "circle" it represents.
Any ideas/suggestions?
0
Reply rmc256 5/25/2010 4:58:03 AM

On Tue, 25 May 2010 00:58:03 -0400, rmc256  <rmc256@gmail.com> wrote:

> I have an image with several "circles", they actually have some  
> irregularities (bumps around edges, connections with neighboring  
> circles, etc.). I would like to get a best fit of a circle to these  
> shapes. I have seen the "Measuring the Radius of a Roll of Tape" demo,  
> but I can't seem to figure out the best way to work with a shape that  
> isn't a perfect circle.
> To remove the connections between circles, I tried using :
> se=strel('disk',20);
> bwnew=imopen(bw,se);
> This works OK, but the output shapes are all octagon like, and some are  
> significantly smaller than the "circle" it represents.
> Any ideas/suggestions?

Helps to post an image. (picasa/flickr/dropio/cssm google repository)
0
Reply Ashish 5/25/2010 11:52:08 AM


"Ashish Uthama" <first.last@mathworks.com> wrote in message <op.vc9e86r5a5ziv5@uthamaa.dhcp.mathworks.com>...
> On Tue, 25 May 2010 00:58:03 -0400, rmc256  <rmc256@gmail.com> wrote:
> 
> > I have an image with several "circles", they actually have some  
> > irregularities (bumps around edges, connections with neighboring  
> > circles, etc.). I would like to get a best fit of a circle to these  
> > shapes. I have seen the "Measuring the Radius of a Roll of Tape" demo,  
> > but I can't seem to figure out the best way to work with a shape that  
> > isn't a perfect circle.
> > To remove the connections between circles, I tried using :
> > se=strel('disk',20);
> > bwnew=imopen(bw,se);
> > This works OK, but the output shapes are all octagon like, and some are  
> > significantly smaller than the "circle" it represents.
> > Any ideas/suggestions?
> 
> Helps to post an image. (picasa/flickr/dropio/cssm google repository)

Link to image in question:
http://picasaweb.google.com/lh/photo/p3IQq1SVinPzfxIbHQJnxg?feat=directlink
0
Reply rmc256 5/26/2010 3:10:07 AM

Did you try "marker controlled watershed segmentation"?  I think
MATLAB has a demo for that.  Then just get the centroid, and the
"equivalent circular diameter" by using the area (setting it equal to
pi*ECD^2/4) and then you're done.
0
Reply ImageAnalyst 5/26/2010 11:15:06 AM

3 Replies
313 Views

(page loaded in 0.033 seconds)

Similiar Articles:




7/26/2012 3:05:23 AM


Reply: