filling open gaps in binary image object

Hello...
i am working with experiment to find out the diameters of generated bubbles.
here is the original image.
fff.PNG
here is the processed one.
Capture.PNG
here is an object from idx list:
object.PNG
this is an object in photo whivh have a same size as the processed one but with zoom in.
my question is:
how to make such an object to appear more circular???
i mean by more circular like this:
o2.PNG
Regards,

2 Comments

How about applying bwconvhull function ?
Mr. Akira,
really thanks.
bwconvhull gave me a very nice results.

Sign in to comment.

 Accepted Answer

I've done image processing on lather/suds/bubbles for several projects. First of all you need to get a good image without specular reflections, and this means using crossed polarizers and probably a broad, diffuse overhead light source. Of course it's best if you can press the bubbles between two plates in a monolayer, or against one glass plates if two are not possible.
If you can, try to make the background black and free of clutter and objects.
Then to get rid of interior walls of other bubbles through larger bubbles above you might try a morphological opening.

4 Comments

Adam Danz
Adam Danz on 7 Jan 2020
Edited: Adam Danz on 7 Jan 2020
+1 for the great advice. I'm just curious - if the bubbles are pressed against a plate, wouldn't that affect their diamerters as their volumes are redistributed? Or, perhpas that's exactly what you'd want in order to control for volume.
The volume will stay the same but the diameter will change as the shape becomes a cylinder. So you multiply the area by the plate separation to get the volume of the cylinder. Then set that volume equal to (4/3)*pi*r^3 (volume of a sphere) to solve for the equivalent spherical diameter - the diameter it would be as if it were a perfect sphere.
Adam Danz
Adam Danz on 7 Jan 2020
Edited: Adam Danz on 7 Jan 2020
Yep, that makes a lot of sense. Thanks.
I suppose pressing them won't unintentionally combine too many of the adjacent bubbles.
my special thanks to u sir,
the photo i submitted was just a trial for the code and for further photos i used black screen and it enhanced it alittle bit......
but my biggest problem was specular reflections and now i have an idea how to solve it.
thx,

Sign in to comment.

More Answers (1)

#Approximate
se=strel('diamond',3);
BW2=~imdilate(BW1,se); % 2nd Binary image
BW3=bwareafilt(BW2,1);
BW4=imerode(BW3,se);
Do the smothing & measure approximated distance (dist on multiple direction & do average to find diameter) or regionprops.

1 Comment

thx for ur answer,
i already tried regionprops, but my question isn't about: how to find the diameter???. it is about how to make objects more circular and look like real bubbles???
i tried convhull and it gave me a very nice results.....
thx.....

Sign in to comment.

Categories

Products

Release

R2019a

Community Treasure Hunt

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

Start Hunting!