This book, produced by Packt Publishing, purports to be a complete guide to the Windows Kinect SDK. This is not to be confused with the broader themed Kinect books which may cover more subjects such as OpenNI, Omek Beckon, Lib Freenect or various other related topics. This book very much concentrates on the official Microsoft Kinect SDK.
It begins with an excellent and well researched discusson of the Kinect hardware, which is well illustrated, and features all of the relevant information in an easily digestible form, and can be easily picked up if you need to quote a client the specs, like for example the field of vision of the depth sensing camera. It’s 43 degrees.
We are then walked through the basic SDK setup, which is simple enough, and then a discussion of the sensor’s capabilities. Seaonsed professionals may want to skip through this, as they will likely already know much of this, but nevertheless there may be a few head scratching or eureka moments when you fill in a gap in your Kinect knowlegde, so I’d recommend a read through of this section.
After an overview of the various tools and components of the SDK, we start to see some code examples.
Sadly, this is where the book and I begin to part company. The example code is almost entirely written in C#, which is not a language I generally use. Although I’m perfectly comfortable using Visual Studio, I generally use it to code in C++ (which the SDK extensively supports) so I feel that this was a bit of an oversight. I’m sure for anyone starting out who is already familiar with C# and WPF programming, this wouldn’t be a problem, but as I work with Cinder and a number of other C++ libraries, C# isn’t really an option.
The book continues on through the various capabilities of the device and the SDK, and as long as you don’t mind being tied into C sharp, it’s a pretty comprehensive read and holds your hand all the way through. It also covers tricky stuff like the encoding of player ids into the 16 bit depth image stream, something which can cause a lot of confusion starting out, but is vital to get a handle on.
It also covers less well understood topics like speech recognition, beamforming, and does a good job of introducing the reader to simple gesture recognition.
Be aware, however, that gesture recognition is not actually provided by the Kinect SDK as such, and you will have to come up with your own solution for this. This is a pretty common gotcha with Kinect applications, and it can take a long time to get to grips with, so be warned that allthough the material in the book is a good starting point, you may want to look into more sophisticated gesture recognition solutions if your application needs to do anything complicated.
As I’ve mentioned, I was a bit disappointed on the heavy reliance on C sharp, but the rest of the book is so useful that I’d say it’s a welcome addition to your library even if you don’t us C#, just for the hardware information alone.
Kinect for Windows SDK Programming Guide is available now from Packt Publishing.