|Amazon Price||New from||Used from|
Why Buy This Book?
I can suggest four reasons for buying this book:
Unique Programming Tools
This is the only book on programming the Kinect using the OpenNI library, NITE, and Java (as of April 2012, when this book went to press).
Official Java Wrappers
This is the only book that explains the official Java wrappers for OpenNI and NITE (again, as of April 2012). By “official,” I mean that these bindings were developed by PrimeSense. Obvious advantages of Java include object-orientation, cross-platform support, availability for free, and many people (including you, probably) knowing how to program with it. Most important, programming in Java gives you access to a massive number of libraries—for graphics, networking, and beyond—that can be linked to the Kinect without much effort. For example, I’ll demonstrate how to use the Java 3D graphics library and the Java binding for the OpenCV computer vision package.
The main drawback of using the PrimeSense Java wrappers is their lack of documentation. As I explain in Chapter 1, I had to decompile the libraries’ JAR files, and work out the correspondences between the Java source and the somewhat better documented C++ OpenNI/NITE APIs. (This is why including Secrets in the book’s title isn’t too excessive.)
A Wide Range of Topics
This book covers programming topics not found elsewhere. I start off with the basics, of course, with chapters on depth, infrared, and RGB imaging, point clouds, skeletal user tracking, hand tracking, and gesture support. Moving beyond that, I cover several novel and unusual features, including the following:
Depth with Brevity
This book describes a lot of complicated code but, unlike some rather hefty programming tomes, you won’t find all the code tediously printed on these pages. Instead, you can download it from the book’s website. In addition, I’ve been adding supplementary chapters to the website, including ones discussing speech recognition and the Kinect microphone array.
Andrew Davison received his Ph.D. from Imperial College in London, and was a lecturer at the University of Melbourne for six years, before moving to Prince of Songkla University in Thailand. He is the author of Killer Game Programming in Java, Pro Java 6 3D Game Development, and co-author (with Carol Hamer) of Learn BlackBerry Games Development.