This project is read-only.

how to detect each finger

Feb 23, 2013 at 2:47 PM
Hi Stefan,
Can you give me some help, how can I get the coordinates of each finger? and how to get the index of each finger? So I know, it's thumb , middle or ring finger.
Thanks. Sorry for my bad english
Feb 24, 2013 at 2:44 PM
Edited Feb 24, 2013 at 2:44 PM
It's easy to access the fingertip locations. In the event NewDataAvailable for the HandDataSource you'll get a hand collection. Each HandData in the hand collection has a collection of FingerPoints. These then offer X,Y and Z coordinates (as floats). Have a look at the project CCT.NUI.HandTracking.
void handDataSource_NewDataAvailable(HandCollection data)
    for (int index = 0; index < data.Count; index++) 
        var hand = data.Hands[index];
        Console.WriteLine(string.Format("Fingers on hand {0}: {1}", index, hand.FingerPointCount));
        foreach (var fingertip in hand.FingerPoints)
            var x = fingertip.X;
            var y = fingertip.Y;
It does not give you the finger type, that's something you'll have to add yourself.
Feb 25, 2013 at 10:04 AM
can you give an idea how to detect the finger type. thank you
Mar 2, 2013 at 2:59 PM
Unfortunately no, I haven't implemented it myself. You could start by identifying if you're looking at the right or left hand, then if all fingers are visible it is quite easy.
Mar 14, 2013 at 1:18 PM
can I get and display both RGB data dan hand data at the same time on the different video control? how to get that data? thank you