How to detect certain shapes in binary image

5 views (last 30 days)
I have a binary image containing circular shape; I want to detect the circular shape and eliminate rest of the part in an image. Can someone help me with this. The original image is attached below http://img841.imageshack.us/img841/9128/originalimage.jpg
Expected output image (Edited in MS-Paint)
Thanks for your help in advance!
  1 Comment
Matt Kindig
Matt Kindig on 30 Jan 2013
If you have the Image Processing Toolbox, I would go through the Demos, specifically the one called "Identifying Round Objects". Another excellent resource is ImageAnalyst's BlobsDemo on the File Exchange ( http://www.mathworks.com/matlabcentral/fileexchange/25157-image-segmentation-tutorial-blobsdemo). I would look at both to start with.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 30 Jan 2013
If you look at the circularity, that will tell you what's circular and what's not. Look at my BlobsDemo and see how to measure area and perimeter. Then circularity is just perimeter^2 / (4*pi*area). It's 1 for a circle, and gets bigger the more tortuous the edge shape gets.
  2 Comments
Image Analyst
Image Analyst on 10 Mar 2013
The link is not broken. I just went there and it works fine for me. Make sure you went to the right person's File Exchange (i.e., mine). Here is the direct link: http://www.mathworks.com/matlabcentral/fileexchange/25157-image-segmentation-tutorial-blobsdemo

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!