MATLAB Answers

Numbering bubbles and extract centers

7 views (last 30 days)
Mandar Badve
Mandar Badve on 21 Feb 2017
Commented: Mandar Badve on 23 Jun 2017
I have a 2D image of bubbles (all connected to each other). I want to number each bubble seperately, compute its area and locate centre of each bubble along with its co-ordinatres. Can I do it with standard flood fill algorithm? attaching skeletonized image for reference.


Sign in to comment.

Accepted Answer

KSSV on 1 Mar 2017
Edited: KSSV on 1 Mar 2017
You can count the number of closed regions using bwlabeln.
I = imread('test2.png') ;
I = rgb2gray(I) ;
[L,num] = bwlabeln(I,6) ; % num gives you closed region
m = regionprops(L) ; % measurements of regions, gives centers of the regions
hold on
for i = 1:num
c = m(i).Centroid ;
plot(c(1),c(2),'*r') ;
num gives you the number of closed regions. You can view them using vislabels(L). Download the function vislabels from here .


Mandar Badve
Mandar Badve on 1 Mar 2017
Thank you KSSV. It works fine!
KSSV on 1 Mar 2017
Just curious...May I know what image is this? What is the application?
Mandar Badve
Mandar Badve on 23 Jun 2017
Is it possible to estimate velocity of the bubbles once I extract centres from the images? By analysing successive frames? Or is there any way to track shapes between successive frames to estimate velocities?

Sign in to comment.

More Answers (1)

Abel Babu
Abel Babu on 24 Feb 2017
Hi Mandar,
Here is a MATLAB example that describes how to find circles in a given image:
It uses the ' imfindcircles ' function that internally uses Hough Transform to compute both center and radii of a circle. Here is the documentation for the same:


Sign in to comment.

Community Treasure Hunt

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

Start Hunting!