How to fill holes in binary image
3 views (last 30 days)
Show older comments
Hello buddy,
I know that some posts already exist regarding this problem, but I'm still struggling in a similar issue. I have a .avi file from which I extract, frame by frame, the animal pupil, but are present in the image these three reflecting blobs of light that makes the binary conversion weird. I don't know how to get rid off them.
Someone, could help me, pls?
Ps: just to let you know I had this code within a for loop
image_frame = read (video,cnt);
piel_1 = ~im2bw(image_frame,0.15);
piel_2 = bwmorph(piel_1,'open');
piel_3 = bwmorph(piel_2,'close');
piel_4 = bwareaopen(piel_3,2000);
piel = imfill(piel_4,'holes');
0 Comments
Answers (2)
KALYAN ACHARJYA
on 13 Jun 2019
Edited: KALYAN ACHARJYA
on 13 Jun 2019
"How to fill holes in binary image"
J = imerode( binary_image_name , SE ) ;
% chosse the structuring elment as per your requiremnet
For detail see here
Image Analyst
on 15 Jun 2019
To fill holes in a binary image:
bw = imfill(bw, 'holes');
2 Comments
Muhammad Zeeshan Ahmed Khan
on 9 Apr 2020
This is not filling the hole in a binary image please guide
Image Analyst
on 9 Apr 2020
OK, sure. Where is your image? You forgot to attach it. ?♂️
Are you sure your image is just larger than the display and there is a small path to the background that gets subsampled away when it goes to display it so that you don't see that path to the background and you think it's a hole when it's really not? So I can check for that you must attach your binary image in a PNG format file or a .mat file, NOT as a JPG image.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!