How to substract hand only from the input rgb images?

I want to remove the background by white and only want to keep the hand palm. how to do that ? The rgb image has been attached.

Answers (2)

Try using a uniform background rather than a cluttered one if you can. It will make it a lot simpler.
You could try color segmentation to extract just skin and I attach a demo for that.

4 Comments

How can I make the background uniform?
Perhaps the best way would be to hang a black velvet drape behind the person. Black velvet is one of the darkest things that you can economically use for a background - much darker than a black posterboard.
I am using a standard dataset which is publicly availble . is this possible to ask them to do so ???
I don't know. You could try. You could also try the foreground detector in the Computer Vision Toolbox. Otherwise give my skin color detector a try.

Sign in to comment.

You can use imfreehand() or Freehand() to draw the boundary of the palm interactively and then mask out everything in the background.

4 Comments

A=imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/458405/111.png');
load(websave('Mask','https://www.mathworks.com/matlabcentral/answers/uploaded_files/459155/Mask.mat'));
imshow(uint8(double(A).*msk));
what about this mask.mat?

Sign in to comment.

Asked:

on 12 Dec 2020

Commented:

on 14 Dec 2020

Community Treasure Hunt

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

Start Hunting!