Numbering bubbles and extract centers

2 views (last 30 days)
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.

Accepted Answer

KSSV
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
imshow(I)
hold on
for i = 1:num
c = m(i).Centroid ;
plot(c(1),c(2),'*r') ;
end
num gives you the number of closed regions. You can view them using vislabels(L). Download the function vislabels from here .
  3 Comments
KSSV
KSSV on 1 Mar 2017
Edited: 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:
Abel

Community Treasure Hunt

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

Start Hunting!