Pore size distribution chart

Hello,
I need some assistance here...
I would love to know how do you create a distribution chart based on size and number (amount) of the pores.
Thank you!

2 Comments

Can you show distribution chart you want to see (simple drawing)?
It's about like this but it also depends on the small pore (white pixel).
And on the left bottom side of the picture above, there's some kind of noise or small black pixels on the white pixel pore that may separate the white pore and eventually lead to missinterpretation.

Sign in to comment.

 Accepted Answer

darova
darova on 25 Feb 2020
Edited: darova on 25 Feb 2020
Use regionprops
I = imread('image.jpeg');
I1 = im2bw(I); % binarize image
cc = bwconncomp(I1); % or 'bwlabel' to separate each region
stats = regionprops(cc, 'Area'); % calculate area of each separate region
area = cat(1,stats.Area);
area(area>500) = []; % filter bigger blobs/regions
hist(area,20) % histogram of 20 groups
xlabel('size')
ylabel('number')
result

7 Comments

it works! thanks a lot!
My plesure!
Sir/Madam, as I try to do with different images manually it says:
Error using area (line 45)
"Must supply Y data or X and Y data as
first argument(s)."
what does that means?
Impossible!
Can you attach the problem image?
another piece of pores
Sorry, forgot this line
area = cat(1,stats.Area);
I correct the code. Look
ah i see, sorry
and thank you again! :)

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Products

Release

R2019b

Asked:

on 24 Feb 2020

Commented:

on 25 Feb 2020

Community Treasure Hunt

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

Start Hunting!