Programming with the Kinect™ for Windows® Software Development Kit

Book description

Create rich experiences for users of Windows 7 and Windows 8 Developer Preview with this pragmatic guide to the Kinect for Windows Software Development Kit (SDK). The author, a developer evangelist for Microsoft, walks you through Kinect sensor technology and the SDK—providing hands-on insights for how to add gesture and posture recognition to your apps. If you’re skilled in C# and Windows Presentation Foundation, you’ll learn how to integrate Kinect in your applications and begin writing Uis and controls that can handle Kinect interaction.

  • This book introduces the Kinect for Windows Software Development Kit to developers looking to enrich applications they build for Windows 7 and later with human motion tracking

  • Teaches developers with core C# and WPF skills how to program gesture and posture recognition in Kinect

  • Describes how to integrate 3D representation on top of a real scene

  • Provides expert insights and code samples to get you up and running

  • Table of contents

    1. Dedication
    2. Introduction
      1. Who should read this book
        1. Assumptions
      2. Who should not read this book
      3. Organization of this book
        1. Finding your best starting point in this book
      4. System requirements
      5. Code samples
        1. Installing the code samples
        2. Using the code samples
      6. Acknowledgments
      7. Errata & book support
      8. We want to hear from you
      9. Stay in touch
    3. I. Kinect at a glance
      1. 1. A bit of background
        1. The sensor
        2. Limits
        3. The Kinect for Windows SDK
          1. Using a Kinect for Xbox 360 sensor with a developer computer
          2. Preparing a new project with C++
          3. Preparing a new project with C#
          4. Using the Kinect for Windows SDK
      2. 2. Who’s there?
        1. SDK architecture
        2. The video stream
          1. Using the video stream
          2. Getting frames
        3. The depth stream
          1. Using the depth stream
          2. Getting frames
          3. Computing depth data
        4. The audio stream
        5. Skeleton tracking
          1. Tracking skeletons
          2. Getting skeleton data
          3. Browsing skeletons
    4. II. Integrate Kinect in your application
      1. 3. Displaying Kinect data
        1. The color display manager
        2. The depth display manager
        3. The skeleton display manager
        4. The audio display manager
      2. 4. Recording and playing a Kinect session
        1. Kinect Studio
        2. Recording Kinect data
          1. Recording the color stream
          2. Recording the depth stream
          3. Recording the skeleton frames
          4. Putting it all together
        3. Replaying Kinect data
          1. Replaying color streams
          2. Replaying depth streams
          3. Replaying skeleton frames
          4. Putting it all together
        4. Controlling the record system with your voice
    5. III. Postures and gestures
      1. 5. Capturing the context
        1. The skeleton’s stability
        2. The skeleton’s displacement speed
        3. The skeleton’s global orientation
        4. Complete ContextTracker tool code
        5. Detecting the position of the skeleton’s eyes
      2. 6. Algorithmic gestures and postures
        1. Defining a gesture with an algorithm
          1. Creating a base class for gesture detection
          2. Detecting linear gestures
        2. Defining a posture with an algorithm
          1. Creating a base class for posture detection
          2. Detecting simple postures
      3. 7. Templated gestures and postures
        1. Pattern matching gestures
        2. The main concept in pattern matching
        3. Comparing the comparable
        4. The golden section search
        5. Creating a learning machine
          1. The RecordedPath class
          2. Building the learning machine
        6. Detecting a gesture
        7. Detecting a posture
        8. Going further with combined gestures
      4. 8. Using gestures and postures in an application
        1. The Gestures Viewer application
          1. Creating the user interface
          2. Initializing the application
          3. Displaying Kinect data
          4. Controlling the angle of the Kinect sensor
        2. Detecting gestures and postures with Gestures Viewer
        3. Recording and replaying a session
          1. Recording new gestures and postures
          2. Commanding Gestures Viewer with your voice
          3. Using the beam angle
        4. Cleaning resources
    6. IV. Creating a user interface for Kinect
      1. 9. You are the mouse!
        1. Controlling the mouse pointer
        2. Using skeleton analysis to move the mouse pointer
          1. The basic approach
          2. Adding a smoothing filter
        3. Handling the left mouse click
      2. 10. Controls for Kinect
        1. Adapting the size of the elements
        2. Providing specific feedback control
        3. Replacing the mouse
        4. Magnetization!
          1. The magnetized controls
          2. Simulating a click
          3. Adding a behavior to integrate easily with XAML
      3. 11. Creating augmented reality with Kinect
        1. Creating the XNA project
        2. Connecting to a Kinect sensor
        3. Adding the background
        4. Adding the lightsaber
          1. Creating the saber shape
          2. Controlling the saber
          3. Creating a “lightsaber” effect
        5. Going further
    7. A. About the Author
    8. Index
    9. About the Author
    10. Copyright

    Product information

    • Title: Programming with the Kinect™ for Windows® Software Development Kit
    • Author(s): David Catuhe
    • Release date: September 2012
    • Publisher(s): Microsoft Press
    • ISBN: 9780735667785