Numbering bubbles and extract centers

3 次查看(过去 30 天)
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.

采纳的回答

KSSV
KSSV 2017-3-1
编辑:KSSV 2017-3-1
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 个评论
KSSV
KSSV 2017-3-1
编辑:KSSV 2017-3-1
Just curious...May I know what image is this? What is the application?
Mandar Badve
Mandar Badve 2017-6-23
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?

请先登录,再进行评论。

更多回答(1 个)

Abel Babu
Abel Babu 2017-2-24
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!

Translated by