Filling Holes Example

From MATLAB Techniques for Image Processing by Steve Eddins.

Filling interior "holes" in binary image objects is frequently useful for cleaning up segmentations.

I = imread('coins.png');
imshow(I)
bw = im2bw(I,graythresh(I));
imshow(bw)

Fill holes using imfill.

bw2 = imfill(bw,'holes');
imshow(bw2)

Note: You can also fill holes in gray scale images using imfill.