第1章 准备工作 1
1.1 构建开发环境 2
1.1.1 Windows操作系统 3
1.1.2 Mac操作系统 8
1.1.3 DebianWheezy及其衍生工具 12
1.1.4 Fedora及其衍生工具 14
1.1.5 openSUSE及其衍生工具 14
1.1.6 Tegra.Android开发包 15
1.1.7 Unity引擎 23
1.2 构建Raspberry Pi 25
1.3 获取OpenCV的文档、帮助和更新 30
1.4 Raspberry Pi的替代方案 31
1.5 本章小结 32
第2章 搜索世界范围内的豪华建筑 33
2.1 规划Luxocator应用程序 33
2.2 创建、比较并存储直方图 35
2.3 利用参考图像训练分类器 40
2.4 从Web中获取图像 41
2.5 从Bing图像搜索中获取图像 43
2.6 针对应用程序准备图像和资源 48
2.7 整合至GUI中 50
2.8 构建Luxocator发布版 58
2.9 本章小结 61
第3章 人物和猫脸识别 62
3.1 理解机器学习 63
3.2 规划交互式识别应用程序 64
3.3 理解Haar级联和LBPH 65
3.4 实现交互式识别器应用程序 69
3.5 规划猫脸检测模型 82
3.6 针对猫脸检测模型实现训练脚本 84
3.7 规划Angora Blue应用程序 96
3.8 实现Angora Blue应用程序 97
3.9 构建Angora Blue发布版本 103
3.10 进一步讨论 103
3.11 本章小结 104
第4章 利用姿势控制应用程序 105
4.1 规划Goldgesture应用程序 105
4.2 理解光流 107
4.3 创建Eclipse工作区 109
4.4 获取级联文件和音频文件 115
4.5 确定应用程序需求 116
4.6 将摄像头视图设置为主视图 117
4.7 跟踪手势 118
4.8 播放音频片段 120
4.9 捕捉图像并跟踪脸部内容 124
4.10 本章小结 140
第5章 车载后视摄像头和危险警告 141
5.1 规划Living Headlights应用程序 142
5.2 光源的斑点检测 143
5.3 距离估算(简单方案) 146
5.4 实现Living Headlights应用程序 148
5.5 测试Living Headlights应用程序 161
5.6 测试车载Living Headlights应用程序 164
5.7 本章小结 168
第6章 利用运动放大相机查看心率 169
6.1 规划Lazy Eyes应用程序 170
6.2 理解欧拉影像放大算法 171
6.3 利用快速傅里叶转换从视频中获取重复信号 172
6.4 利用图像金字塔合成两幅图像 176
6.5 实现Lazy Eyes应用程序 177
6.6 针对各种运动行为配置并测试应用程序 185
6.7 其他光源 190
6.8 本章小结 191
第7章 根据素描画创建物理模拟 192
7.1 规划Rollingball应用程序 193
7.2 检测圆形和直线 195
7.3 针对Unity设置OpenCV 197
7.4 配置并构建Unity项目 200
7.5 在Unity中生成Rollingball场景 201
7.6 创建Unity资源并将其添加至场景中 204
7.6.1 编写着色器并创建材质 204
7.6.2 创建物理材质 206
7.6.3 创建预置组件 208
7.6.4 编写第一个Unity脚本 211
7.6.5 编写Rollingball主脚本文件 212
7.7 整合与测试 231
7.8 本章小结 231