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

Obtaining color and depth images


In this section, we are going to first learn how to obtain and display images from Kinect on the screen. OpenGL uses textures to contain image data and maps textures onto any mesh surface so that the images can be shown as surface colors. The mapping process requires the texture coordinates of surfaces, known as UVW coordinates in most 3D modeling software, to denote the texture's x/y/z axes for correct image painting. A good tutorial about the OpenGL texture mapping can be found at http://www.glprogramming.com/red/chapter09.html.

As we are not developing very complicated 3D applications, we can just simplify the whole process into two steps:

  • Creating a simple quad with four vertices that is always facing the screen, and mapping a 2D texture (with only UV coordinates set) onto it for displaying 2D images

  • Generating and updating the texture from Kinect image data every frame

Now let's start.

Drawing color and depth as textures

We will first obtain color and depth...