售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
OpenNI Cookbook
Table of Contents
OpenNI Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started
Introduction
Introduction to the "Introduction"
Motion-capture devices and the technologies behind them
What is OpenNI?
What is NiTE?
Developing applications and games with the Natural Interactive User Interface
Downloading and installing OpenNI
How to do it...
How it works...
See also
Downloading and installing NiTE
Getting ready
How to do it...
How it works...
See also
Downloading and installing the Microsoft Kinect SDK
How to do it...
How to do it...
See also
Connecting Asus Xtion and PrimeSense sensors
Getting ready
How to do it...
How it works...
See also
Connecting Microsoft Kinect
Getting ready
How to do it...
How it works...
See also
2. OpenNI and C++
Introduction
The OpenNI object
The device object
The VideoStream object
Sharing devices between applications
VideoStream paused state
Creating a project in Visual Studio 2010
Getting ready
How to do it...
How it works...
There's more...
See also
OpenNI class and error handling
Getting ready
How to do it...
How it works...
Defining a method for displaying error message
Possible values of openni::Status
Enumerating a list of connected devices
Getting ready
How to do it...
How it works...
There's more...
List of known Product IDs and Vendor IDs at the time of writing of this book
See also
Accessing video streams (depth/IR/RGB) and configuring them
Getting ready
How to do it...
How it works...
There's more...
Pixel formats
Known supported list of resolutions of each sensor in different devices
See also
Retrieving a list of supported video modes for depth stream
Getting ready
How to do it...
How it works...
See also
Selecting a specific device for accessing depth stream
Getting ready
How to do it...
How it works...
See also
Listening to the device connect and disconnect events
Getting ready
How to do it...
How it works...
There's more...
Device state changed event
Stop listening to events
See also
Opening an already recorded file (ONI file) instead of a device
Getting ready
How to do it...
How it works...
There's more...
See also
3. Using Low-level Data
Introduction
VideoFrameRef object
Back to the OpenNI object again
Configuring Visual Studio 2010 to use OpenGL
Getting ready
How to do it...
How it works...
There's more...
GLUT alternatives
Initializing and preparing OpenGL
Getting ready
How to do it...
How it works...
See also
Reading and showing a frame from the image sensor (color/IR)
Getting ready
How to do it...
How it works...
See also
Reading and showing a frame from the depth sensor
Getting ready
How to do it...
How it works...
There's more...
Histogram equalization – better details in the same color space
Wider color space for showing more details
Filling shadows
See also
Controlling the player when opening a device from file
Getting ready
How to do it...
How it works...
See also
Recording streams to file (ONI file)
Getting ready
How to do it...
How it works...
See also
Event-based reading of data
Getting ready
How to do it...
How it works...
4. More about Low-level Outputs
Introduction
The openni::Device object
The openni::VideoStream object
The openni::CoordinateConverter class
The openni::CameraSettings object
Cropping and mirroring frames right from the buffer
Getting ready
How to do it...
How it works...
See also
Syncing image and depth sensors to read new frames from both streams at the same time
Getting ready
How to do it...
How it works...
See also
Overlaying the depth frame over the image frame
Getting ready
How to do it...
How it works...
See also
Converting the depth unit to millimetre
Getting ready
How to do it...
How it works...
There's more...
See also
Retrieving the color of the nearest point without depth over color registration
Getting ready
How to do it...
How it works...
See also
Enabling/disabling auto exposure and auto white balance
Getting ready
How to do it...
How it works...
There's more...
See also
5. NiTE and User Tracking
Introduction
The nite::NiTE object
The nite::UserTracker object
The nite::UserTrackerFrameRef object
The nite::UserMap object
The nite::UserData object
Getting a list of all the active users
Getting ready
How to do it...
How it works...
See also
Identifying and coloring users' pixels in depth map
Getting ready
How to do it...
How it works...
See also
Reading users' bounding boxes and center of mass
Getting ready
How to do it...
How it works...
There's more...
See also
Event-based reading of users' data
Getting ready
How to do it...
How it works...
See also
6. NiTE and Hand Tracking
Introduction
The nite::HandTracker object
The nite::HandTrackerFrameRef object
The nite::HandData object
The nite::GestureData object
Compared to skeleton tracking
Recognizing predefined hand gestures
Getting ready
How to do it...
How it works...
See also
Tracking hands
Getting ready
How to do it...
How it works...
See also
Finding the related user ID for each hand ID
Getting ready
How to do it...
How it works...
See also
Event-based reading of hands' data
Getting ready
How to do it...
How it works...
See also
Working sample for controlling the mouse by hand
Getting ready
How to do it...
How it works...
See also
7. NiTE and Skeleton Tracking
Introduction
The nite::UserTracker object
The nite::PoseData object
The nite::Skeleton object
The nite::SkeletonJoint object
The nite::UserData object
Detecting a user's pose
Getting ready
How to do it...
How it works...
See also
Getting a user's skeleton joints and displaying their position in the depth map
Getting ready
How to do it...
How it works...
See also
Designing a simple pong game using skeleton tracking
How it works...
See also
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜