How to separate hand region after using multi-otsu's thresholding?

8 views (last 30 days)
The attached image is the output after appling multi-otsu's thrsholding using 2 threshold value. How can I separate the hand region now ?
Remember the approah should be adaptive.

Answers (1)

Image Analyst
Image Analyst on 24 Sep 2022
Simply use ==. Assuming the hand is the brightest in your quantized, 3-level image:
maxGL = max(yourImage(:))
binaryImage = yourImage == maxGL;
% Extract only the largest blob:
binaryImage = bwareafilt(binaryImage, 1); % Binary image of only the hand.
If you want to crop it out to a separate, smaller image for some reason (probably not necessary though), you can do:
% Find Bounding Box:
props = regionprops(binaryImage, 'BoundingBox');
% Extract that bounding box out into it's own, smaller image.
handOnly = imcrop(binaryImage, props.BoundingBox);
  6 Comments
Image Analyst
Image Analyst on 26 Sep 2022
You can prove it did a great job because, without any "right answer", who is to say otherwise? With no authoritative right answer, no one can complain that your segmentation is not perfect.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!