Distinguishing individual fingers

Distinguishing individual fingers

Hello. 

Now I am using softkinetic's iisu with DS325 camera.  I found iisu can NOT distinguish each fingers.  That is, iisu CAN detect and track five fingers but can NOT tell which one is thumb and which one is index finger and so on (its data structure is just an array of 5 fingers NOT a structure consisting of THUMB, INDEX, MIDDLE, RING and PINKY).  It does NOT distinguish the ["V" pose with index finger and middle finger] between ["V" pose with middle finger and ring finger]. 

I wonder if Intel PC sdk can distinguish the fingers.  What I want is a hand mouse with [index finger open and the rest fingers closed].  I want to the hand mouse becomes active just for the case of [index finger open and the rest closed] NOT the cases of [thumb finger open the rest closed], [middle finger open the rest closed] and so forth.

I am asking this question because I shoud check this capability before buyingIntel's creative cam.    

Sorry for my bad english.

8 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

Hello!

You can use somethig like this (С# example):

PXCMGesture.GeoNode[][] mouse_nodes = new PXCMGesture.GeoNode[1][]{ new PXCMGesture.GeoNode[11]};

sts = gesture.QueryNodeData(0, PXCMGesture.GeoNode.Label.LABEL_BODY_HAND_PRIMARY | PXCMGesture.GeoNode.Label.LABEL_HAND_FINGERTIP, out mouse_nodes[0]);

Array mouse_nodes[0] will contain all geonodes of all fingers (main hand). To determine needed finger check nodes in array. See this article for node names http://software.intel.com/sites/landingpage/perceptual_computing/documentation/html/index.html?pxcgesturegeonodelabel.html

Hope it will help.

Evgeniy L.  

Thanks a lot.

I think this topic need some explanations, because I can misunderstand you.

For example, you show your hand with opened Index and Thumb fingers (left hand is showing first and mark as PRIMARY). In that case array mouse_nodes[0][] will contain data as in attached screenshot. Array elements of closed finger will be marked LABEL_ANY, but you still know which array element corresponds needed fingers.

P.S. In my code above I made a mistake in that:

sts = gesture.QueryNodeData(0, PXCMGesture.GeoNode.Label.LABEL_BODY_HAND_PRIMARY | PXCMGesture.GeoNode.Label.LABEL_HAND_FINGERTIP, out mouse_nodes[0]);

the correct version:

sts = gesture.QueryNodeData(0, PXCMGesture.GeoNode.Label.LABEL_BODY_HAND_PRIMARY, out mouse_nodes[0]);

Allegati: 

AllegatoDimensione
Download screenshot.png14.61 KB

@Evgeniy,

What are mouse_nodes?  I'm familiar with the labels you described above but I've only used them when directly accessing the two GeoNodes arrays (PRIMARY and SECONDARY).  I've never seen mouse_nodes before.  Can you send me a link to a page that describes them and why I would want to use that array instead of using just the GeoNodes arrays?

-- roschler

Citazione:

Robert Oschler ha scritto:

@Evgeniy,

What are mouse_nodes?  I'm familiar with the labels you described above but I've only used them when directly accessing the two GeoNodes arrays (PRIMARY and SECONDARY).  I've never seen mouse_nodes before.  Can you send me a link to a page that describes them and why I would want to use that array instead of using just the GeoNodes arrays?

-- roschler

Hi Robert!

It is only name of array in my code. See initialization in my first answer. Just sample.

@Evgeniy,

Thank you for the clarification.

-- roschler

Thank s a lot.

Lascia un commento

Eseguire l'accesso per aggiungere un commento. Non siete membri? Iscriviti oggi