Recently I have read a book on "Kinect for Windows SDK Programming Guide" by Abhijit Jana. It is a book with great details about Kinect SDK and the Hardware. I enjoyed reading this book and thought of sharing my experiences with you such that if you are new in Kinect and want to write code on it, you might find this review helpful.
|Kinect for Windows SDK Programming Guide by Abhijit Jana|
Chapter 1The book starts with the basic introduction to the evolution of the device, introduction of Natural User Interface and the differences of the Kinect device and Xbox platform. It then take us further introducing each and every component of the device and makes the hardware introduction ready. It is always good to know about the hardware components before going further with the SDK and programming interfaces. It seems this book has taken care of these details correctly.
Chapter 2As we are kind of already get a basic introduction of Hardware, the book goes on to do the same with the software components and the Kinect SDK. In this chapter the author clearly introduces how to use the SDK, what are the components we need to install to correctly communicate windows with the hardware. I should also mention, this chapter also introduces some other software tools which might come handy while doing the development. The chapter also introduces the features of Kinect device in short paragraphs to get things really started.
The real start of writing something is here. I like this chapter because it introduces the SDK by explaining each and every step correctly, such that if you are a beginner, you can start along to build this Infobox. Even Kinect SDK is so simple laid out, it is really fun and simple to create application using it. BTW, it uses WPF to design the sample, that might sometimes challenging. Well, if you want to learn WPF, I will encourage to read this.
This chapter introduces Kinect Camera. It introduces how to retrieve color stream and processing it into a ImageControl. Here you will understand how you can stream the RGB set on the canvas and also save pictures form it. It also introduces how to change the elevation of Camera, putting effects on stream, inverting color and everything about camera elegantly. Overall this chapter will give you a good insight on the Camera API.
Chapter 5This chapter is about depth mapping. The Kinect sensor provides Depthstream channels which can be utilized to create responding apps. This chapter gives an insight on how to utilize depth camera to determine the position of an object. The application looks cool to me.
Depth masking is one of the most interesting thing in Kinect. The chapter proves to be good one to introduce the various tricks to handle the depth of an object projected on camera.
Well, probably now as we know everything in Kinect, it comes with something really constructive. This chapter introduces Skeleton Tracking. I must thank Microsoft to have SkeletonStream inbuilt on the SDK and also the Author to introduce and present it beautifully.
Again, this chapter creates a simple application to detect each section of the skeleton. I really enjoyed to track certain Joints on the skeleton while building this application and playing around with JointCollection in real time with the device.
Well Chapter 7 is regarding the Microphone present in Kinect device. This is more like basic application development to explore sound API on Kinect device.
Chapter 8As Chapter 7 being more on introductory level, I got really excited when I read Chapter 8. This chapter introduces Speech Recognisation. I know I did some speech recognisation applications before, but using Kinect, it is unique and exciting. Speech Recognisation works well with Kinect and built a solid application using this chapter is fun.
Gesture recognition. Well, Its another interesting chapter where I learnt how to detect various gesture of a man, like clapping, moving hand etc. Funda is quite simple, you need to play around with the distance between joints. The idea will be much more clear if you can read this chapter. The chapter also builds up a gesture detection engine, which is what really interesting here, in this chapter.
Finally it is time to interact with multiple kinect devices. I am yet to read this chapter, but as per I saw, it detects all the devices connected with a machine and combines the streams of all of them into a single application.
Chapter 11 is one of the most interesting chapter where client server interaction is shown. It works with Augmented reality, Face tracking system etc.
That's all. Now after reading the whole book, I am very confident to start writing my own real world application using Kinect device. I will share more of Kinect when I build one myself.
After you read this book, probably you would be more inclined towards utilizing what you have learned from here. The trends currently show we are moving towards more touch/gesture sensitive UI in future. Kinect is the future of modern UI.
The book really kept its promises. It has a lot of examples to deal with so that you could utilize the SDK in real time and also describes every bits and pieces of the API as a whole. I would really recommend this book to all who have interest on Kinect API. The book starts from beginners level and so it does not depend how much experienced you are it would definitely be useful.
Download the Sample Chapter from here
Read Disclaimer Notice