Kinect for Windows SDK Programming Guide

Build motion-sensing applications with Microsoft's Kinect for Windows SDK quickly and easily with this book and ebook.

$26.99

$44.99

RRP $26.99

RRP $44.99

eBook

Print + eBook

Want this title & more?

$16.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849692380

Paperback392 pages

About This Book

Building application using Kinect for Windows SDK.

Covers the Kinect for Windows SDK v1.6

A practical step-by-step tutorial to make learning easy for a beginner.

A detailed discussion of all the APIs involved and the explanations of their usage in detail

Procedures for developing motion-sensing applications and also methods used to enable speech recognition

Who This Book Is For

The purpose of this book is to explain how to develop applications using the Kinect for Windows SDK. If you are a beginner and looking to start developing applications using the Kinect for Windows SDK, and if you want to build motion-sensing,speech-recognizing applications with Kinect, this book is for you.

This book uses C# and WPF (Windows Presentation Foundation) in the examples, so you need to know the basics of C# and WPF. You should be familiar with the Visual Studio IDE as well. You don't have to know anything about the Kinect for Windows SDK.

Table of Contents

Chapter 1: Understanding the Kinect Device

Components of Kinect for Windows

Kinect for Windows versus Kinect for Xbox

Where can you use Kinect

Summary

Chapter 2: Getting Started

System requirements for the Kinect for Windows SDK

Evaluation of the Kinect for Windows SDK

Downloading the SDK and the Developer Toolkit

Installing Kinect for Windows SDK

Testing your device

Looking inside the Kinect SDK

Features of the Kinect for Windows SDK

The Kinect for Windows Developer Toolkit

Making your development setup ready

The Coding4Fun Kinect Toolkit

Summary

Chapter 3: Starting to Build Kinect Applications

How applications interact with the Kinect sensor

Kinect Info Box – your first Kinect application

Dealing with the Kinect status

Summary

Chapter 4: Getting the Most out of Kinect Camera

Understanding the Kinect image stream

Different ways of retrieving the color stream from Kinect

KinectCam – a Kinect camera application

Enabling the color stream channel

Looking inside color image stream helpers

Capturing frames on demand

Extending the KinectCam

Applying more effects to the camera

Seeing in low light

Making your application perform better

Using the Coding4Fun toolkit

Summary

Chapter 5: The Depth Data – Making Things Happen

Understanding the depth data stream

Capturing and processing depth data

Looking inside depth image stream helpers

Depth data and distance

Working with depth range

Depth data distribution

Player index with depth data

Getting the depth and player index automatically

A 3D view of depth data

Summary

Chapter 6: Human Skeleton Tracking

How skeleton tracking works

Skeleton tracking with the Kinect SDK

Start tracking skeleton joints

Flow – capturing skeleton data

An intrusion detector camera application

Looking inside skeleton stream helpers

Skeleton-tracking mode

Skeleton tracking in near mode

The Skeleton

Choosing which skeleton to track

The building blocks – Joints and JointCollection

Steps to be followed for joint tracking

Create your own joints data point

Bones – connecting joints

Adjusting the Kinect sensor automatically and giving live feedback to users

Skeleton smoothing – soften the skeleton's movement

Skeleton space transformation

The Advanced Skeleton Viewer application

Debugging the applications

Getting data frames together

Summary

Chapter 7: Using Kinect's Microphone Array

Verifying the Kinect audio configuration

Using the Kinect microphone array with your computer

The Kinect SDK architecture for Audio

Kinect microphone array

Audio signal processing in Kinect

Taking control over the microphone array

Kinect sound recorder – capturing Kinect audio data

Processing the audio data

Sound source localization

Summary

Chapter 8: Speech Recognition

How speech recognition works

Using Kinect with your Windows PC speech recognition

Beginning with Microsoft Speech API (SAPI)

Draw What I Want – a speech-enabled application

Summary

Chapter 9: Building Gesture-controlled Applications

What is a gesture

Approaches for gesture recognition

Basic gesture recognition

Algorithmic gesture recognition

Weighted network gesture recognition

Template-based gesture recognition

Building gesture-enabled controls

The Basic Interaction – a WPF application

Key things to remember

Summary

Chapter 10: Developing Applications Using Multiple Kinects

Setting up the environment for multiple Kinects

Multiple Kinects – how to reduce interference

Detecting multiple Kinects

Developing an application with multiple Kinects

Controlling multiple sensor status changes

Handling a failover scenario using Kinects

Challenges faced in developing applications using multiple Kinects

Applications where multiple Kinects can be used

Summary

Chapter 11: Putting Things Together

Taking Kinect to the Cloud

Remotely using the Kinect with Windows Phone

Using Kinect with a Netduino microcontroller

Augmented reality applications

Working with face tracking

Working with XNA and a 3D avatar

Summary

What You Will Learn

Understand the Kinect sensor in terms of a device, different components, and how they work.

Step by step installation guide of SDK, troubleshooting tips and development environment setup.

In Detail

Kinect has been a game-changer in the world of motion games and applications since its first release. It has been touted as a controller for Microsoft Xbox but is much more than that. The developer version of Kinect, Kinect for Windows SDK, provides developers with the tools to develop applications that run on Windows. You can use this to develop applications that make interaction with your computer hands-free.

This book focuses on developing applications using the Kinect for Windows SDK. It is a complete end to end solution using different features of Kinect for Windows SDK with step by step guidance. The book will also help you develop motion sensitive and speech recognition enabled applications. You will also learn about building application using multiple Kinects.

The book begins with explaining the different components of Kinect and then moves into to the setting up the device and getting thedevelopment environment ready. You will be surprised at how quickly the book takes you through the details of Kinect APIs. You will use NUI to use the Kinect for Natural Inputs like skeleton tracking, sensing, speech recognizing.

You will capture different types of stream, and images, handle stream event, and capture frame. Kinect device contains a motorized tilt to control sensor angles, you will learn how to adjust it automatically. The last part of the book teaches you how to build application using multiple Kinects and discuss how Kinect can be used to integrate with other devices such as Windows Phone and microcontroller.

Authors

Abhijit Jana

Abhijit works with Microsoft as a .NET Consultant as part of Microsoft Services Global Delivery, India. As a Consultant, his job is to help customers design, develop and deploy enterprise level secure solutions using Microsoft Technologies. Apart from being a Former Microsoft MVP (Most Valuable Professional), he is a speaker, and author, as well as an avid Technology Evangelist. He has delivered sessions at prestigious Microsoft events like TechED, Web Camps, Azure Camps, Community Tech Days, Virtual Tech Days, Devdays, and developer conference. He loves to work with different .NET Communities and help them with different opportunities. He is a well-known author and has published many articles on various .NET Community sites.
He shares his thoughts on his personal blog at http://abhijitjana.net. You can follow him on Twitter at @abhijitjana. Abhijit lives in Hyderabad, India, with his wife, Ananya and a beautiful little angel Nilova.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.