A couple of weeks back I received a copy of OpenNI Cookbook from PacktPub for reviewing. I was excited at the prospect of reviewing a book on OpenNI because during my thesis, I found it hard to find tutorials about working with the OpenNI framework and had to basically rely on the OpenNI docs and sample programs as well as the OpenNI google group. So kudos to Soroush Falahati and the people at PacktPub for their efforts.
The book is structured and very well organized in its contents. The book begins with introducing the OpenNI framework and PrimeSense sensors and explaining why they are better than other contemporary devices and frameworks. It then goes on to explain how to install OpenNI on Windows using Visual Studio. Though the book doesn’t explain how to install the OpenNI package in Linux distros (maybe for the sake of brevity), the installation procedure in quite easy, as explained here .
The succeeding chapters explain the lower level details of OpenNI such as OpenNI object, device object, how the images are represented in memory etc. They also explain how to use Visual Studio to create new projects and how to use OpenNI as a part of your project. The book explains the OpenNI API pretty well, gradually increasing in complexity. The book has quite a few example programs to try out and get a better understanding of the API. It has “How it works…” sections to explain the working and flow of the code.
The part of the book that I really loved was the one that dealt with NiTE, Tracking and Gestures. I hadn’t worked with NiTE before and this introduction was quite good. It again has a lot of good code that can be used as reference.
All in all, I think the book has quite a few things for everybody. It’s a great book for beginners and has everything needed for getting NIUI applications up and running. For experienced folks, it could act as a great reference, and for people like me who haven’t yet switched to the OpenNI 2. x framework and are still using OpenNI 1. x, this should act as a migration guide. The code is also more or less platform independent. So, in the end, this book is definitely a good buy and highly recommended if you are a beginner.