译者序
作者简介
前言
第1章 计算机视觉系统综述 1
1.1 计算机视觉系统介绍 1
1.2 解决计算机视觉问题 2
1.2.1 数据采集 3
1.2.2 预处理 4
1.2.3 图像处理的特征提取 5
1.2.4 后处理和后置滤波 7
1.2.5 识别或检测 7
1.2.6 在现实世界中行动 8
1.2.7 连接子模块 8
1.3 总结 10
第2章 OpenCV的基础与安装 11
2.1 OpenCV的基础 11
2.2 OpenCV的安装 12
2.2.1 在Linux上安装OpenCV 12
2.2.2 在Mac OS上安装OpenCV 17
2.2.3 在Windows上安装OpenCV 18
2.2.4 在iOS上安装OpenCV 20
2.2.5 在Android上安装OpenCV 21
2.3 总结 24
第3章 用OpenCV和Arduino进行数据采集 25
3.1 图像和视频采集 25
3.1.1 相机选择 25
3.1.2 图像采集 29
3.2 传感器数据采集 41
3.2.1 设置Arduino环境 41
3.2.2 传感器基础 42
3.2.3 从温度传感器中读取数据 44
3.3 总结 47
第4章 用OpenCV进行数据过滤 48
4.1 开始过滤 48
4.2 空间域滤波 49
4.2.1 平滑 50
4.2.2 锐化 51
4.3 颜色空间转换 51
4.3.1 灰度化 52
4.3.2 二值化 53
4.4 形态学滤波器 55
4.4.1 腐蚀和膨胀 55
4.4.2 开运算和闭运算 56
4.5 梯度和边缘检测 58
4.5.1 Canny边缘检测器 58
4.5.2 LoG滤波器 59
4.5.3 Sobel 61
4.6 自定义滤波器 63
4.7 直方图均衡化 65
4.8 本章的实践项目 66
4.9 总结 72
第5章 用OpenCV进行视觉数据处理 73
5.1 提取特征 73
5.1.1 使用基本的统计信息 74
5.1.2 使用颜色特征 78
5.1.3 使用模板进行特征匹配 78
5.1.4 使用轮廓特征 79
5.1.5 使用凸包 80
5.1.6 使用矩 81
5.1.7 使用Hough变换 82
5.1.8 使用角点 83
5.1.9 使用尺度不变特征变换 84
5.1.10 使用加速鲁棒特征 85
5.1.11 使用ORB 86
5.1.12 使用blob分析 86
5.2 总结 87
第6章 用OpenCV进行识别 88
6.1 构建一个可以思考的应用程序 88
6.1.1 模板匹配 89
6.1.2 特征匹配 91
6.1.3 基于快速近似最近邻搜索库的匹配 94
6.1.4 使用级联分类器 95
6.1.5 使用支持向量机 97
6.2 总结 98
第7章 用OpenCV与Arduino进行通信 100
7.1 与Arduino进行通信 100
7.1.1 有线通信 102
7.1.2 无线通信 111
7.2 用Java进行通信 115
7.3 用C++进行通信 120
7.4 总结 121
第8章 将Arduino用于真实世界 122
8.1 与电动机的连接 122
8.1.1 驱动直流电动机 123
8.1.2 驱动步进电动机 125
8.1.3 驱动伺服电动机 128
8.2 使用显示器 130
8.2.1 使用液晶显示器 131
8.2.2 使用薄膜晶体管显示器 133
8.3 总结 137
第9章 建造一个点击行走机器人 138
9.1 系统总览 138
9.2 建造一个机器人 141
9.2.1 构建力学部分 142
9.2.2 构建电子电路部分 143
9.2.3 构建机器人控制器和通信系统 146
9.3 构建视觉应用程序 154
9.4 总结 163
展开