how can i obtain only hand after skin detection?
Show older comments
hi; im working on the hand detection, firstly i used skin detection algorithm but i dont know how can i obtain hand after skin detection, here my code;
vid = videoinput('winvideo', 1, 'YUY2_640x480');
set(vid, 'FramesPerTrigger', Inf);
set(vid, 'ReturnedColorspace', 'rgb')
vid.FrameGrabInterval =5;
start(vid)
while(vid.FramesAcquired<=50)
I = getsnapshot(vid);
I=double(I);
%%skin detection
[hue,s,v]=rgb2hsv(I);
cb = 0.148* I(:,:,1) - 0.291* I(:,:,2) + 0.439 * I(:,:,3) + 128;
cr = 0.439 * I(:,:,1) - 0.368 * I(:,:,2) -0.071 * I(:,:,3) + 128;
[w h]=size(I(:,:,1));
for i=1:w
for j=1:h
if 140<=cr(i,j) && cr(i,j)<=165 && 140<=cb(i,j) && cb(i,j)<=195 && 0.01<=hue(i,j) && hue(i,j)<=0.1
segment(i,j)=1;
else
segment(i,j)=0;
end
end
end
im(:,:,1)=I(:,:,1).*segment;
im(:,:,2)=I(:,:,2).*segment;
im(:,:,3)=I(:,:,3).*segment;
subplot(1,1,1);imshow(uint8(im));title('My Edge Detection')
end
stop(vid);
flushdata(vid);
clear all
Answers (2)
Image Analyst
on 20 Mar 2014
0 votes
segment is your mask. Assuming your algorithm for creating that skin mask is good, then you multiply segment by your original image to blacken outside the mask. So what's the problem? That is "only the hand", I mean other than the black surround. Do you want to crop to the bounding rectangle, or what?
YUNUS
on 20 Mar 2014
0 votes
5 Comments
Image Analyst
on 20 Mar 2014
Can you reply to my questions instead of offering an "Answer" to your original question, which actually wasn't an Answer at all? Did you notice that I had questions about what your intent was? I need to know the answers to those questions so I can understand what "only the hand" means to you, precisely. What you say is vague.
Image Analyst
on 6 Aug 2014
Edited: Image Analyst
on 6 Aug 2014
You might be able to do it based on the size. You might need to combine that with temporal tracking with the pretty good assumption that, in a video, the hand will move around a lot more than the face or other skin-colored items in the background do. He didn't provide a photo so that makes answering his question basically a guess.
intissar khalifa
on 13 Feb 2017
hi mr i need to detect only hand in a video so can you help me and thanks.
Image Analyst
on 13 Feb 2017
Dirk has several hand-related submissions on his File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A29180
Categories
Find more on Face Detection in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!