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

2 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
Zara Khan
Zara Khan on 25 Sep 2022
Sir it will be nice to create this ground truth image when there is few images but working with almost 1500 images will be hard. If I will be not comparing then how will show that my segmentation algorithm is doing great job
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.

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!