Fill inner holes in the image

3 views (last 30 days)
mukesh bisht
mukesh bisht on 20 Nov 2019
Commented: mukesh bisht on 9 Dec 2019
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
mukesh bisht
mukesh bisht on 9 Dec 2019
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)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH on 20 Nov 2019
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
mukesh bisht
mukesh bisht on 20 Nov 2019
Thanks a lot sir.I had been trying this since long time.
JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH on 20 Nov 2019
Edited: JESUS DAVID ARIZA ROYETH on 20 Nov 2019
please formally accept my answer.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!