Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Making Things See
SPECIAL OFFER: Upgrade this ebook with O’Reilly
Preface
Why the Kinect Matters
Who This Book Is For
The Structure of This Book
Working with the Depth Camera
Working with Point Clouds
Working with the Skeleton Data
3D Scanning for Digital Fabrication
Computer Vision for Robotics
Acknowledgments
Using Code Examples
Conventions Used in This Book
Safari® Books Online
How to Contact Us
1. What Is the Kinect?
How Does It Work? Where Did It Come From?
What Does the Kinect Do?
What’s Inside? How Does It Work?
Who Made the Kinect?
Kinect Artists
Kyle McDonald
Robert Hodgin
Elliot Woods
blablabLAB
Nicolas Burrus
Oliver Kreylos
Alejandro Crawford
Josh Blake
Adafruit
2. Working with the Depth Image
Images and Pixels
Project 1: Installing the SimpleOpenNI Processing Library
Installing OpenNI on OS X
Installing OpenNI on Windows
Installing OpenNI on Linux
Installing the Processing Library
Project 2: Your First Kinect Program
Understanding the Code
Project 3: Looking at a Pixel
Color Pixels
Depth Pixels
Converting to Real-World Distances
Project 4: A Wireless Tape Measure
Higher-Resolution Depth Data
Project 5: Tracking the Nearest Object
Finding the Closest Pixel
Using Variable Scope
Projects
Project 6: Invisible Pencil
Project 7: Minority Report Photos
Basic Version: One Image
Advanced Version: Multiple Images and Scale
Exercises
3. Working with Point Clouds
What You’ll Learn in This Chapter
Welcome to the Third Dimension
Drawing Our First Point Cloud
Making the Point Cloud Move
Viewing the Point Cloud in Color
Making the Point Cloud Interactive
Projects
Project 8: Air Drum Kit
Adding Audio with Minim
Connecting Our First Air Drum
Filling Out Our Air Drum Kit
Project 9: Virtual Kinect
Displaying a 3D Object
3D Model in the Point Cloud
Variation: Visualizing the Kinect’s Line of Sight
Camera Control with PeasyCam
Conclusion
4. Working with the Skeleton Data
A Note About Calibration
Stages in the Calibration Process
User Detection
Accessing Joint Positions
Skeleton Anatomy Lesson
Measuring the Distance Between Two Joints
Transferring Orientation in 3D
Orientation from a Single Joint
Orientation from Any Vector with Axis-Angle
Background Removal, User Pixels, and the Scene Map
Tracking Without Calibration: Hand Tracking and Center of Mass
Hand Tracking
Center of Mass
Projects
Project 10: Exercise Measurement
The SkeletonRecorder Class
Exercises
Project 11: “Stayin’ Alive” Dance Move Triggers MP3
Describing a Pose as Joint Relationships
Basic Version
Advanced Version
The SkeletonPoser and PoseRule Classes
Exercises
Conclusion
5. Scanning for Fabrication
Scan and Print: Rapid Prototyping Objects
Scan and Print: Rapid Prototyping Objects
From a Point Cloud to an Object
Outline of This Chapter
Intro to Modelbuilder
Intro to MeshLab
Your First Visit to MeshLab
Making a Mesh from the Kinect Data
Looking at Our First Scan
Cleaning Up the Mesh
Looking at Our Corrected Model
Prepping for Printing
Reduce Polygons in MeshLab
Printing Our Model on a MakerBot
Printing Our Scan
Sending Our Model to Shapeways
Conclusion: Comparing Prints
6. Using the Kinect for Robotics
Forward Kinematics
Calculating the Angles of Limbs
Getting Started with Arduino: The Brain of Our Robot Arm
Acquiring the Arduino and the Servos
Plugging in the Servos
Downloading the Arduino Development Environment
Programming the Arduino
Testing Our Arduino Program: Serial in Processing
Building Our Robot Arm
Putting It All Together: Connecting Our Robot Arm to Our Processing Sketch
Inverse Kinematics
Inverse Kinematics Calculations without the Kinect
Controlling Our Robot Arm with Inverse Kinematics
Updating Our Hardware
Updating Our Code
Conclusion
7. Conclusion: What’s Next?
Beyond Processing: Other Frameworks and Languages
Microsoft
C++ Creative Coding Frameworks: openFrameworks and Cinder
Data Flow: MAX/MSP and PureData
Game Engines: Unity3D
Topics in 3D Programming to Explore
Graphics Programming: OpenGL and Shaders
Computer Vision: OpenCV, Feature Tracking, and Beyond
3D Modeling and Animation
Ideas for Projects
A Physical Therapy Game
Kinect Stereo Viewer
Animated 3D Puppet
Rolling Person-Chasing Robot
A. Appendix
SimpleOpenNI Cheat Sheet
Chapter 2
Closest Pixel with Running Average
Limiting the Depth Range
Chapter 4
Save Calibration
Load Calibration
Extended SkeletonRecorder That Can Track Multiple Joints
Chapter 6
Complete Forward Kinematics Example
Inverse Kinematics Geometrical Proof
Index
About the Author
Colophon
SPECIAL OFFER: Upgrade this ebook with O’Reilly
← Prev
Back
Next →
← Prev
Back
Next →