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

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

采纳的回答

Image Analyst
Image Analyst 2022-12-30
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 个评论
Jialin Men
Jialin Men 2022-12-30
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 2022-12-31
编辑:Image Analyst 2022-12-31
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:

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by