Ambient light, 12
Blurring algorithm, 68
Brightness thresholding algorithm
float testApp::blur, 70
kinect.update(), 69
void testApp::draw(), 70
void testApp::exit(), 70
void testApp::setup(), 69
void testApp::update(), 69
Computer vision
image anatomy, 65
image comparison, 74
black and white image creation, 85–86
double image, 85
image storage, 87
image processing. see Image processing
Gesture recognition, 89
definiton, 89
multitouch detection
assigning and tracking component IDs, 95–96
camera image, background storing and subtracting, 92
connected components algorithm, 93–95
fingertip touching, 90
infrared emitter and detector, 89
Kinect's depth image, 101
LCD display, 89
minority report—style interface, 99–100
motion, 97
multitouch-capable devices, 96
scale, 99
shape, 101
Hardware
RGB camera. see RGB camera
volumetric sensing
binary distributions, 26
block wiring, 37
///Keyboard Event Tracking, 29, 30
///Kinect hardware connection class, 27
lit alarm light, 39
//~MyFreenectDevice(), 27
parts, 25
//PCL, 29
///Start the PCL/OK Bridging, 28–29
Image processing
brightest pixel tracking, 72–74
brightness thresholding algorithm. see Brightness thresholding algorithm
Image processing (cont.)
situation contriving, 69
Infrared emitter and detector, 89
Kinect
drivers installation:. see OpenKinect driver
installation testing, 9
Mesh Models:, 128
Multiple kinects
calibration, 209
calib.yaml file, 229
camera frame, 228
eigen.hpp, 243
stereo calibration, 228
world frame, 228
depth shadows, occlusions, 208
field of view, 207
hardware requirements, 209
interference, 209
box fan test, 217
calib.yaml file, 226
cloud 1 update, 227
cloud 2 update, 227
combined point clouds, 226
hardware shutter system, 218
IR camera, 218
laser diodes, 217
mechanical shutters, 217
noise, 209
scene, 213
single direction, 207
Multitouch detection, gesture recognition
assigning and tracking component IDs, 95–96
camera image, background storing and subtracting, 92
connected components algorithm, 93–95
fingertip touching, 90
infrared emitter and detector, 89
Kinect's depth image, 101
LCD display, 89
minority report—style interface, 99–100
motion, 97
multitouch-capable devices, 96
scale, 99
shape, 101
Object detection
global descriptors
CloudRecognizer Class, 201, 202
database model, 202
VFH descriptor computation, 202–204
Object modeling
3-D
camera space, 191
cleaning and cropping, partial views, 195–196
high-resolution models, 199
Kinect pose estimation, 192–195
support builiding, 191
definition, 173
single Kinect image. see Single Kinect image
OpenGL
drawing points, 135
OpenKinect driver
Red Hat/Fedora, 7
Ubuntu, 7
Windows, 2
CMake preconfiguration, 5
Git Commands, 3
libfreenect, 3
Microsoft Visual Studio 2010 and MinGW, 5–6
updation, 3
Point cloud library (PCL), 129
OpenKinect
binary distributions, 57
// Create and setup the viewer, 60
C++ file creation, 56
—CMakeLists.txt—, 62
///Kinect Hardware Connection Class, 58
///Mutex Class, 58
//~MyFreenectDevice(), 58
//More Kinect Setup, 60
///Start the PCL/OK Bridging, 59
Windows installation
cmake-guifor FLANN, 49
CMinPack, 49
Qhull, 51
VTK installer, 51
Point clouds
coloring
depth to color reference frame, 131
image plane, 132
2-D registration
affine transformation, 154
matched features, 152
transformation parameters, 153
3-D data representation
Mesh Models, 128
rendering, 129
Voxels, 128
3-D registration
rigid transformation, 155
rotation computation, 155
SLAM. See Simultaneous Localization and Mapping
surface reconstruction
normal estimation, 162
visualization
with PCL, 133
wind application
blue-red gradient, 136
intensity field, 142
is_frozen, 142
main() function, 139
radiohead's video, 136
screenshot, 149
show_visualizer(), 142
structure of, 136
TMyPoint, 142
Random sample consensus (RANSAC), 174
Red Hat/Fedora, 7
RGB camera
build/bin/calibrate_kinect_ir execution, 18
Combined R|T matrix, 23
kinect_calibration.yml file, 19–21
Linux, 15
Mac OS X, 16
rgb_distortion and depth_distortion, 21, 22
rgb_intrinsics/depth_intrinsics, 21
rgbd-viewer, 17
Shape gestures, 101
Simultaneous localization and mapping (SLAM)
advantages of, 160
conventional camera, 159
real-time considerations, 161
simple Kinect
C++ classes, 164
camera pose estimation, 170–172
CTrackingSharedData class, 166
SLAM, simple kinect (cont.)
median feature computation, 168
Point Map construction, 169–170
screenshot, 164
Single Kinect image
3-D Model
extruder class, 180
surface point cloud, 181, 185–187
Voxelized representation, 181–183
tabletop object detector
background removal, 176
individual object clusters extraction, 177–178
points lying, prism, 177
sample scene, 174
table plane extraction, 174–176
Software
Kinect drivers
Microsoft Kinect SDK, 41
OpenKinect, 41
OpenNI, 41
OpenCV installation
point cloud library (PCL) installation
// Create and setup the viewer, 60
///Kinect Hardware Connection Class, 58
///Mutex Class, 58
///Start the PCL/OK Bridging, 59
//~MyFreenectDevice(), 58
//More Kinect Setup, 60
binary distributions, 57
C++ file creation, 56
—CMakeLists.txt—, 62
Structured light pattern, 12
Tabletop object detector
background removal, 176
individual object clusters extraction, 177–178
points lying, prism, 177
sample scene, 174
table plane extraction, 174–176
Ubuntu, 7
Volumetric sensing
OKFlower.cpp
binary distributions, 26
block wiring, 37
///Keyboard Event Tracking, 29, 30
///Kinect hardware connection class, 27
lit alarm light, 39
//~MyFreenectDevice(), 27
//PCL, 29
///Start the PCL/OK Bridging, 28–29
parts, 25
Voxelization, 103
clustering voxels, 122
cluster_indices, 122
2-D flood fill technique, 120
EuclideanClusterExtraction, 121
KdTree line, 122
setClusterTolerance, 122
setMinClusterSize and setMaxClusterSize, 122
dataset, 104
manipulating voxels
background cloud, 118
background subtraction, 108–116
drawing voxel boxes, 108
function, background subtraction, 116–117
getPointIndicesFromNewVoxels, 117
leaf nodes, 107
PCL, 105
tracking people and fitting rectangular prism, 122–125
Voxels, 128
Wind application
blue-red gradient, 136
intensity field, 142
is_frozen, 142
main() function, 139
screenshot, 149
show_visualizer(), 142
structure of, 136
TMyPoint, 142
3.138.105.124