Count objects labeled in image

4 views (last 30 days)
Tu Nguyen
Tu Nguyen on 14 Apr 2022
Edited: Image Analyst on 16 Apr 2022
Hi all,
I identified circles and rectangular by a mark circle at centroid. Now I want to count how many object have labeled and how many object not labeled?
The result is in the attached image
Really appreciate for your help
if metric < threshold
centroid = stats(k).Centroid;
plot(centroid(1),centroid(2),'ko');
count =
end

Accepted Answer

Image Analyst
Image Analyst on 16 Apr 2022
stats = regionprops(L,'Area','Centroid','Perimeter');
allAreas = [stats.Area]
allPerims = [stats.Perimeter];
allCircularities = allPerims .^2 ./ (4 * pi * allAreas)
% Find number with circularity more than 1.5
count = allCircularities > 1.5
  2 Comments
Tu Nguyen
Tu Nguyen on 16 Apr 2022
I tried your way but all value less than 1.5. Now I am trying both ways to figure out. The method of @Faraz Hedayati I am struggling how to convert the out last output image to an actual image because the spot on the image just a plot.

Sign in to comment.

More Answers (1)

Tala
Tala on 15 Apr 2022
I would plot the centroids as filled black circles and threshold colors smaller than 10! then you only have the centorids and length(regionprops( YourImage,'centroid')) would give you the number of rectangulars.
  9 Comments
Tala
Tala on 16 Apr 2022
Edited: Image Analyst on 16 Apr 2022
I am getting confused about you wanna do after all :).
Did you see Image Analyst's response?
If you want to save your figure as an image you can do:
saveas(gcf,'YourImage.png');
% or
exportgraphics(gcf, 'YourImage.png');
You can then import that as well using
theImage = imread('YourImage.png')

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!