How to extract the largest area?
3 次查看(过去 30 天)
显示 更早的评论
Hi, I have a grayscale image as shown. How can I extract out the largest area? Thank you.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1051465/image.png)
0 个评论
采纳的回答
Image Analyst
2022-6-30
It looks like there is a black path separating the different regions. I think you can just binarize the image and use bwareafilt
% Binarize the image
binaryImage = yourImage > 0;
% Make sure it's 2-D, not 3-D (which would be the case if yourImage was RGB).
if size(binaryImage, 3)) == 3
binaryImage = binaryImage(:, :, 1);
end
binaryImage = bwareafilt(binaryImage, 1); % Take largest 8-connected region.
If you get multiple regions (because regions touch on a diagonal), then try using 4-connected:
binaryImage = bwareafilt(binaryImage, 1, 4); % Take largest 4-connected region.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!