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 个评论

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

请先登录,再进行评论。

 采纳的回答

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 个评论

+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.
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,

请先登录,再进行评论。

更多回答(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 个评论

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.....

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

产品

版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by