how to find the dimension of the biggest component?
1 view (last 30 days)
Show older comments
hi all,
I need to find the dimension of the biggest components.Then plotted against p=linspace(0,1,10).
N=10
for i=1:N
for j=1:N
if rand(1,1)<0.55
A(i,j)=1;
else
A(i,j)=0;
end
end
end
CC = bwconncomp(A,4);
numPixels = cellfun(@numel,CC.PixelIdxList);
[biggest,idx] = max(numPixels);
A(CC.PixelIdxList{idx}) = 2
colours=[1 1 1;0 0 0;1 0 0]
colormap (colours)
imagesc(A)
2 Comments
Jan
on 18 Jul 2017
Please explain uniquely what "the biggest components" are. What problems do you have with the posted code?
Answers (1)
Image Analyst
on 18 Jul 2017
You can use regionprops() to find the axis of an ellipse fitted to the data. They don't give you the Feret (caliper) diameter, so you can adapt my attached code to give you that.
2 Comments
Image Analyst
on 18 Jul 2017
Sure. Attach your image and segmentation algoritm to produce your binary image. Then you can use my Image Segmentation Tutorial http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862&sort=downloads_desc to find out how to find all the areas of your blobs. Next, tell me which blob(s) you want the maximum extent (width) computed for. All of them? Just for the one with the greatest area?
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!