Fill inner holes in the image

Hi i have an image in which some holes are there , i want to make the image as solid . How to do that. I have attached the image

1 Comment

Hi
now i want to make the outline of this filled image to be smoother. i.e. the curved portion replaced with straight lines.
how to do it?

Sign in to comment.

Answers (1)

change image.jpeg for the name of your image
image=imread('image.jpeg');
mask=imfill(imclose(not(imbinarize(rgb2gray(image))),strel('disk',1)),'holes');
R=image(:,:,1);
G=image(:,:,2);
B=image(:,:,3);
R(mask)=255;
G(mask)=0;
B(mask)=0;
image(:,:,1)=R;
image(:,:,2)=G;
image(:,:,3)=B;
figure;
imshow(image)

2 Comments

Thanks a lot sir.I had been trying this since long time.
please formally accept my answer.

Sign in to comment.

Asked:

on 20 Nov 2019

Commented:

on 9 Dec 2019

Community Treasure Hunt

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

Start Hunting!