How to calculate solidity of different shapes

10 views (last 30 days)
I have an image which contains different shapes:
I want to calculate the solidity of each shape individually and pick the one which has greatest solidity;
Can any one help me regarding this?

Accepted Answer

Image Analyst
Image Analyst on 19 Sep 2013
Edited: Image Analyst on 19 Sep 2013
Did you use regionprops() to get all of them? If so, then just sort
% Label the binary image.
labeledImage = bwlabel(binaryImage);
% Measure the solidity of all the blobs.
measurements = regionprops(labeledImage, 'Solidity');
% Sort in oder of decreasing solidity.
[sortedS, sortIndexes] = sort([measurements.Solidity], 'descend');
% Get the solidity of the most solid blob
highestSolidity = sortedS(1);
% Get the label of the most solid blob
labelWithHighestSolidity = sortIndexes(1);
  12 Comments
Image Analyst
Image Analyst on 20 Sep 2013
Moved: DGM on 29 Dec 2023
naila: See attached file and see if it does what you want.
naila
naila on 22 Sep 2013
Moved: DGM on 29 Dec 2023
Thank You very much Sir... This is all what I need...; Thanks for your time;

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!