Book Image

Augmented Reality with Kinect

By : Rui Wang
Book Image

Augmented Reality with Kinect

By: Rui Wang

Overview of this book

Microsoft Kinect changes the notion of user interface design. It differs from most other user input controllers as it enables users to interact with the program without touching the mouse or a trackpad. It utilizes motion sensing technology and all it needs is a real-time cameras, tracked skeletons, and gestures. Augmented Reality with Kinect will help you get into the world of Microsoft Kinect programming with the C/C++ language. The book will cover the installation, image streaming, skeleton and face tracking, multi-touch cursors and gesture emulation. Finally, you will end up with a complete Kinect-based game. Augmented Reality with Kinect will help you get into the world of Kinect programming, with a few interesting recipes and a relatively complete example. The book will introduce the following topics: the installation and initialization of Kinect applications; capturing color and depth images; obtaining skeleton and face tracking data; emulating multi-touch cursors and gestures; and developing a complete game using Kinect features. The book is divided in such a way so as to ensure that each topic is given the right amount of focus. Beginners will start from the first chapter and build up to developing their own applications.
Table of Contents (14 chapters)
Augmented Reality with Kinect
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Locating the cursors


In the first example of this chapter, we will convert the two hand bones into cursors to simulate a multitouch-like behavior. While the hand positions are changing, the cursors will also move so that we can locate them on a certain object, such as a button or a menu item. The available range of the hand positions must be limited here, otherwise the result will be confusing if we drop the arms and don't want the cursor to move again.

Drawing cursors from two hands

The line-trailing example in the previous chapter is a good start for our new task, so we will work on this example to add cursor support based on user-skeleton data we have already obtained. The steps are given as follows:

  1. Define arrays to store necessary hand positions, as well as the colors to display in the window. We also declare a smoothParams variable here, which will be introduced later.

    NUI_TRANSFORM_SMOOTH_PARAMETERS smoothParams;
    GLfloat cursors[6];  // Left hand: 0, 1, 2; Right: 3, 4, 5
    GLfloat cursorColors...