Hi, I have a grayscale image as shown. How can I extract out the largest area? Thank you.

 채택된 답변

Image Analyst
Image Analyst 2022년 6월 30일

0 개 추천

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.

댓글 수: 1

ZWY
ZWY 2022년 7월 2일
Yes, there are separated regions.
Thank you very much.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품

릴리스

R2021b

질문:

ZWY
2022년 6월 30일

댓글:

ZWY
2022년 7월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by