how to calculate the shape factor?
37 views (last 30 days)
Show older comments
Dear All,
Anyone can help me how to calculate the shape factor for each blob on my image as attached.
2 Comments
Answers (1)
Sulaymon Eshkabilov
on 30 Oct 2023
Is this what you are trying to calculate?
% Read Image
IMG = imread('IMAGE_Blob.png');
% Convert from RGB to gray scale
IMG_gray = rgb2gray(IMG);
% AREA
AREA = bwarea(IMG_gray)
% Display the minimum Feret properties of the object.
[OUT,LM] = bwferet(rgb2gray(IMG),'MinFeretProperties');
OUT.MinDiameter(1)
OUT.MinAngle(1)
OUT.MinCoordinates{1}
BW = imfill(rgb2gray(IMG),'holes');
CC = bwconncomp(BW);
[out,LM] = bwferet(CC,'MaxFeretProperties');
maxLabel = max(LM(:));
h = imshow(BW);
axis = h.Parent;
for labelvalues = 1:maxLabel
xmax = [out.MaxCoordinates{labelvalues}(1,1) out.MaxCoordinates{labelvalues}(2,1)];
ymax = [out.MaxCoordinates{labelvalues}(1,2) out.MaxCoordinates{labelvalues}(2,2)];
imdistline(axis,xmax,ymax);
end
title(axis,'Maximum Feret Diameter of Objects');
colorbar('Ticks',1:maxLabel)
3 Comments
Sulaymon Eshkabilov
on 30 Oct 2023
All details aer explained in this help documentation: https://www.mathworks.com/help/images/ref/bwferet.html#d126e43971
See Also
Categories
Find more on Biomedical Imaging 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!