How do I fill the missing edges of an image in order to use the imfill command?

6 views (last 30 days)
I would like to be able to threshold the heart all by itself. The overall project is to be able to get the coordinates of the heart and superimpose them into a fake body. So far I have used sobel edging and tresholding to get the heart. How do I close off all the edges so I can use the Imfill command? Thank you

Accepted Answer

Image Analyst
Image Analyst on 21 Feb 2014
You can try imclose() or imdilate(), which is scanning with a local max filter.
  2 Comments
Alexander Killam
Alexander Killam on 21 Feb 2014
IM2 = imclose(IM,SE) performs morphological closing on the grayscale or binary image IM with the structuring element SE. SE must be a single structuring element object, as opposed to an array of objects.
Not to sound stupid but I am a really basic beginner. What would I place for the SE in that command?
Image Analyst
Image Analyst on 21 Feb 2014
Edited: Image Analyst on 21 Feb 2014
You could look at strel() function to create masks of different shapes. If you just want a box, you can use true():
% Close with window size of 15x15.
closedImage = imclose(grayImage, true(15));

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!