How to count number of objects in the image, compute their areas, and make probability distribution of the areas?

2 views (last 30 days)
Hello friends,
I just would like to know how to calculate the objects of image and do the area distribution.
Thanks so much in advance.

Accepted Answer

Image Analyst
Image Analyst on 30 Dec 2022
In your other question, I saw that you already have a segmented image. So in that case, you can get an area distribution like this
props = regionprops(mask, 'Area');
histogram([props.Area]);
grid on;
title('Histogram of Areas');
xlabel('Area');
ylabel('Count');
  4 Comments
JM
JM on 30 Dec 2022
Hallo Image Analyst,
I have clicked the Accept this answer.
I have another question.
If I want to know the number of pixels of each particle in this image,
I could also use as below ? right?
props = regionprops(mask, 'PixelValue');
histogram([props.PixelValue]);
Image Analyst
Image Analyst on 31 Dec 2022
Edited: Image Analyst on 31 Dec 2022
No, that's not right. PixelValue is a list of gray levels of all the pixels in each blob. If you want to know the number of pixels in each blob, you need to ask for 'Area':
props = regionprops(mask, 'Area');
allAreas = [props.Area]
You might use bwmorph and use things like the 'bridge' option to break apart barely touching particles. You might also look at watershed. See these links:

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!