how to find the dimension of the biggest component?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Jan
2017-7-18
Please explain uniquely what "the biggest components" are. What problems do you have with the posted code?
回答(1 个)
Image Analyst
2017-7-18
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 个评论
Image Analyst
2017-7-18
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?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!