There are several ways of figuring out how to use this and of course, the best is to go and explore the source files in the Kinect.Recognition component.

Another easy way of getting a first impression is to look at the TestProject which is being shipped with the component, which is supposed to illustrate some basic usage. The files of interest are:

  • gesturesConfig.xml – xml configuration of the recognition component
    • defines the gestures to be used
    • defines the recognition settings
    • defines the states to be used
    • defines the state transitions (basic finite state machine stuff)
    • defines associations between gestures and state transitions
  • MainWindowTracking.cs - a plain partial class to the main window of the test project
    • illustrates how to initialize the component
    • illustrates how to subscribe to certain events (e.g. gesture recording events, etc.)
  • .\Gestures\ – a repository of some sample gestures I’ve recorded so far


As stated in the design notes section, currently there is a notion of a cue limb. This is of course something that you can easily override, but if the interfaces you build are to be controlled (on a high level) by a single limb, then the concept comes in handy. Due to its existence, currently recording a gesture is somewhat peculiar, as what you need to do is:

  1. Select a gesture ID from the combo in the dialog
  2. Set a cue limb (i.e. raise a hand above your head) – the current cue limb is highlighted in the skeleton viewer
  3. Press the ‘Start recording’ button – at this point you have about 5 seconds to prepare for recording your gesture and then 20 frames for recording it

Last edited Aug 8, 2011 at 10:13 AM by minimalistic, version 6


vaghelan Jun 18, 2014 at 7:20 PM 
How do I record new gestures ?