how to find finger detection using skin color detection method?

hi... i am doing gesture recognition in matlab.. i need help regarding finger detection in matlab ...i have detected the hand using skin color detection but don't know how to find the number of fingers....i have used bwboundary for boundaries detection in the image but it only works when the image is error free..i mean a slight disturbance in marking the hand area in the skin detection code will result in many boundaries... would be very thankful if anybody just guides me in the right direction....

12 Kommentare

Have you considered applying a 2D low-pass filter to smooth out the edges?
yes i did, but it didn't help me much. the final image still has more boundaries then i want.
here after skin is detected and marked i used bwboundary to find out the boundaries. I have also used imfill but it still didn't help me much..
Image Analyst
Image Analyst am 18 Dez. 2013
Bearbeitet: Image Analyst am 18 Dez. 2013
It looks pretty good to me. What problem are you having? You should be able to use imfill() and bwareaopen() to get rid of the little noise regions. So what other help do you need? Recall I gave you a place where you can find lots of citations on papers that do image analysis on hands.
hasan
hasan am 18 Dez. 2013
Bearbeitet: hasan am 18 Dez. 2013
sir, it is displaying OBJECTS FOUND 75(as show in the image top left corner). What can i do to make it display 5(as 5 fingers are shown) so it can be specified as a certain gesture.
Getting down to 5 would be a bit tricky. There might be 5 fingers, but they are joined by the palm, which is big and solid.
When you are doing gesture recognition you will not, in general, have 5 easily distinguishable fingers.
oh... so what do you recommend ? what method should i use after skin recognition to find out the number of fingers or find the gesture?
Like I said, use imfill to fill in the black holes in the white surround. Then use bwareaopen to get rid of the little white islands in the black hand.
binaryImage = imfill(binaryImage, 'holes');
binaryImage = bwareaopen(binaryImage, 50000);
That should give you a nice black silhouette on a white background with no clutter from small black or white blobs.
i to had the same problem in finger count detection and the length of it from the center of the palm.....can you help me....
Possibly, if it's a short question, not something like reviewing papers, picking one, and implementing it for you. But I can help with short specific questions about your code, like syntax errors or very short algorithms of a few lines. Did you see my answer below?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 18 Dez. 2013

0 Stimmen

Have you considered using imfill() ?
I would follow that by using morphological opening

1 Kommentar

thanks, i am working on it right now, will post here about the result.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 17 Dez. 2013

0 Stimmen

2 Kommentare

thank you sir , I have read a number of papers on this subject and i am following one actually, but i am stuck here. Will be very glad if you could help me..
I'm going to follow the FAQ on this, but,. again, you haven't said precisely what your difficulties are so I don't know what to say or how to help.

Melden Sie sich an, um zu kommentieren.

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by