《机器视觉算法原理与编程实战》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:杨青著
  • 出 版 社:
  • 出版年份:2019
  • ISBN:
  • 页数:0 页
图书介绍:

第1篇 基础篇 1

第1章 机器视觉概述 2

1.1 什么是机器视觉 3

1.2 机器视觉与计算机视觉的区别 3

1.3 机器视觉的工作原理 5

1.4 机器视觉的应用领域 6

第2章 如何做机器视觉项目 8

2.1 项目的前期准备 9

2.1.1 从5个方面初步分析客户需求 9

2.1.2 方案评估与验证 9

2.1.3 签订合同 10

2.2 项目规划 11

2.2.1 定义客户的详细需求 11

2.2.2 制订项目管理计划 11

2.2.3 方案评审 12

2.3 详细设计 12

2.3.1 硬件设备的选择与环境搭建 12

2.3.2 软件开发平台与开发工具的选择 13

2.3.3 机器视觉系统的整体框架与开发流程 13

2.3.4 交互界面设计 14

2.3.5 Halcon与开发工具 14

2.4 项目交付 15

2.4.1 软件功能测试 15

2.4.2 现场调试 15

2.4.3 系统维护 16

第3章 硬件环境搭建 17

3.1 相机 18

3.1.1 相机的主要参数 18

3.1.2 相机的种类 19

3.1.3 相机的接口 20

3.1.4 相机的选型 20

3.2 图像采集卡 22

3.2.1 图像采集卡的种类 22

3.2.2 图像采集卡的选型 23

3.3 镜头 23

3.4 光源 24

3.5 实例:硬件选型 25

第4章 软件图像采集 26

4.1 获取非实时图像 27

4.1.1 读取图像文件 27

4.1.2 读取视频文件 28

4.2 获取实时图像 30

4.2.1 Halcon的图像采集步骤 30

4.2.2 使用Halcon接口连接相机 30

4.2.3 使用相机的SDK采集图像 33

4.2.4 外部触发采集图像 33

4.3 多相机采集图像 34

4.4 Halcon图像的基本结构 35

4.5 实例:采集Halcon图像并进行简单处理 36

第2篇 算法篇 39

第5章 图像预处理 40

5.1 图像的变换与校正 41

5.1.1 二维图像的平移、旋转和缩放 41

5.1.2 图像的仿射变换 42

5.1.3 投影变换 42

5.1.4 实例:透视形变图像校正 43

5.2 感兴趣区域(ROI) 45

5.2.1 ROI的意义 45

5.2.2 创建ROI 45

5.3 图像增强 46

5.3.1 直方图均衡 46

5.3.2 增强对比度 48

5.3.3 处理失焦图像 49

5.4 图像平滑与去噪 49

5.4.1 均值滤波 49

5.4.2 中值滤波 50

5.4.3 高斯滤波 51

5.5 光照不均匀 52

第6章 图像分割 54

6.1 阈值处理 55

6.1.1 全局阈值 55

6.1.2 基于直方图的自动阈值分割方法 56

6.1.3 自动全局阈值分割方法 57

6.1.4 局部阈值分割方法 58

6.1.5 其他阈值分割方法 60

6.2 区域生长法 62

6.2.1 regiongrowing算子 62

6.2.2 regiongrowing_mean算子 64

6.3 分水岭算法 65

第7章 颜色与纹理 67

7.1 图像的颜色 68

7.1.1 图像的色彩空间 68

7.1.2 Bayer图像 69

7.1.3 颜色空间的转换 70

7.2 颜色通道的处理 70

7.2.1 图像的通道 71

7.2.2 访问通道 71

7.2.3 通道分离与合并 71

7.2.4 处理RGB信息 73

7.3 实例:利用颜色信息提取背景相似的字符区域 74

7.4 纹理分析 75

7.4.1 纹理滤波器 75

7.4.2 实例:织物折痕检测 76

第8章 图像的形态学处理 77

8.1 腐蚀与膨胀 78

8.1.1 结构元素 78

8.1.2 腐蚀 78

8.1.3 膨胀 80

8.2 开运算与闭运算 82

8.2.1 开运算 82

8.2.2 闭运算 84

8.3 顶帽运算与底帽运算 85

8.3.1 顶帽运算 86

8.3.2 底帽运算 86

8.3.3 顶帽运算与底帽运算的应用 87

8.4 灰度图像的形态学运算 89

8.4.1 灰度图像与区域的区别 89

8.4.2 灰度图像的形态学运算效果及常用算子 89

8.5 实例:粘连木材图像的目标分割与计数 91

第9章 特征提取 95

9.1 区域形状特征 96

9.1.1 区域的面积和中心点 96

9.1.2 封闭区域(孔洞)的面积 97

9.1.3 根据特征值选择区域 98

9.1.4 根据特征值创建区域 100

9.2 基于灰度值的特征 103

9.2.1 区域的灰度特征值 103

9.2.2 区域的最大、最小灰度值 105

9.2.3 灰度的平均值和偏差 106

9.2.4 灰度区域的面积和中心 107

9.2.5 根据灰度特征值选择区域 107

9.3 基于图像纹理的特征 109

9.3.1 灰度共生矩阵 109

9.3.2 创建灰度共生矩阵 110

9.3.3 用共生矩阵计算灰度值特征 111

9.3.4 计算共生矩阵并导出其灰度值特征 111

9.3.5 实例:提取图像的纹理特征 112

第10章 边缘检测 115

10.1 像素级边缘提取 116

10.1.1 经典的边缘检测算子 116

10.1.2 边缘检测的一般流程 117

10.1.3 sobel_amp算子 117

10.1.4 edges_image算子 120

10.1.5 其他滤波器 122

10.2 亚像素级边缘提取 124

10.2.1 edges_sub_pix算子 125

10.2.2 edges_color_sub_pix算子 126

10.2.3 lines_gauss算子 127

10.3 轮廓处理 129

10.3.1 轮廓的生成 130

10.3.2 轮廓的处理 130

第11章 模板匹配 134

11.1 模板匹配的种类 135

11.1.1 基于灰度值的模板匹配 135

11.1.2 基于相关性的模板匹配 136

11.1.3 基于形状的模板匹配 136

11.1.4 基于组件的模板匹配 137

11.1.5 基于形变的模板匹配 138

11.1.6 基于描述符的模板匹配 138

11.1.7 基于点的模板匹配 139

11.1.8 模板匹配方法总结 139

11.2 图像金字塔 140

11.3 模板图像 142

11.3.1 从参考图像的特定区域中创建模板 142

11.3.2 使用XLD轮廓创建模板 143

11.4 模板匹配的步骤 143

11.4.1 基于灰度值的模板匹配 143

11.4.2 基于相关性的模板匹配 145

11.4.3 基于形状的模板匹配 147

11.4.4 基于组件的模板匹配 149

11.4.5 基于局部形变的模板匹配 150

11.4.6 基于透视形变的模板匹配 152

11.4.7 基于描述符的模板匹配 153

11.4.8 优化匹配速度 155

11.4.9 使用Halcon匹配助手进行匹配 156

11.5 实例:指定区域的形状匹配 159

第12章 图像分类 163

12.1 分类器 164

12.1.1 分类的基础知识 164

12.1.2 MLP分类器 166

12.1.3 SVM分类器 166

12.1.4 GMM分类器 166

12.1.5 k-NN分类器 167

12.1.6 选择合适的分类器 167

12.1.7 选择合适的特征 168

12.1.8 选择合适的训练样本 168

12.2 特征的分类 169

12.2.1 一般步骤 169

12.2.2 MLP分类器 170

12.2.3 SVM分类器 176

12.2.4 GMM分类器 176

12.2.5 k-NN分类器 177

12.3 光学字符识别 178

12.3.1 一般步骤 179

12.3.2 OCR实例 179

第13章 相机标定与三维重建 183

13.1 立体视觉的基础知识 184

13.1.1 三维空间坐标 184

13.1.2 3D位姿 185

13.2 相机标定 186

13.2.1 相机标定的目的和意义 186

13.2.2 标定的参数 187

13.2.3 准备标定板 188

13.2.4 采集标定图像的过程与操作细节 189

13.2.5 使用Halcon标定助手进行标定 190

13.2.6 使用Halcon算子进行标定 193

13.2.7 使用自定义的标定板 194

13.3 双目立体视觉 195

13.3.1 双目立体视觉的原理 195

13.3.2 双目相机的结构 196

13.3.3 双目立体视觉相机的标定 198

13.3.4 校正立体图像对 198

13.3.5 获取视差图 199

13.3.6 计算三维信息 201

13.3.7 多目立体视觉 202

13.4 激光三角测量 203

13.4.1 技术原理 203

13.4.2 使用Halcon标准标定板标定sheet-of-light 204

13.4.3 使用sheet-of-light进行测量 206

13.5 DFF方法 207

第14章 机器视觉中的深度学习 209

14.1 深度学习的基本概念 210

14.1.1 Halcon中深度学习的应用 210

14.1.2 系统需求 210

14.1.3 搭建深度学习环境 210

14.1.4 Halcon的通用深度学习流程 212

14.1.5 数据 213

14.1.6 网络与训练过程 214

14.1.7 随机梯度下降法 215

14.1.8 迁移学习 215

14.1.9 设置训练参数:超参数 216

14.1.10 验证训练结果 217

14.2 分类 218

14.2.1 准备网络和数据 219

14.2.2 训练网络并评估训练过程 219

14.2.3 分类器的应用与评估 220

14.2.4 实际检测 221

14.2.5 评估分类检测的结果 221

14.3 物体检测 222

14.3.1 物体检测的原理 222

14.3.2 物体检测的数据集 223

14.3.3 模型参数 224

14.3.4 评估检测结果 224

14.3.5 物体检测步骤 225

14.4 语义分割 226

14.4.1 语义分割概述 226

14.4.2 语义分割的数据集 227

14.4.3 模型参数设置 228

14.4.4 语义分割的一般流程 228

14.4.5 评估语义分割的结果 230

第3篇 应用案例篇 231

第15章 实例分析:印刷完整性检测 232

15.1 系统结构 233

15.2 检测算法 233

15.2.1 差异模型 234

15.2.2 算法步骤 234

15.2.3 实例分析 236

第16章 实例分析:布料表面缺陷检测 240

16.1 检测算法 241

16.1.1 功能说明 241

16.1.2 算法原理 241

16.2 检测布料表面划痕 241

16.3 检测布料表面破洞 243

16.4 检测周期纹理图像的缺陷 244

16.5 检测周期纹理图像的污染区域 246

第17章 实例分析:仪表数值智能识别 248

17.1 检测算法 249

17.1.1 采集图像与显示 249

17.1.2 图像对齐 249

17.1.3 创建形状模板 251

17.1.4 基于形状特征的模板匹配 251

17.2 指针识别 252

17.2.1 识别指针 252

17.2.2 识别方法 252

17.3 字符识别 254

17.3.1 离线训练 254

17.3.2 在线检测 254

17.4 数值分析 255

17.4.1 确定刻度 255

17.4.2 数值分析 255

第18章 实例分析:双目立体视觉与定位 256

18.1 系统结构 257

18.1.1 硬件组成 257

18.1.2 软件结构 257

18.2 图像采集与标定 258

18.2.1 图像采集 258

18.2.2 相机标定 259

18.2.3 图像校正 261

18.3 双目测距 262

18.3.1 提取视差 262

18.3.2 计算深度和距离 262