【现货速发】OpenCV4.5计算机视觉开发实战(基于VC++)
全新正版书籍,24小时发货,可开发票。
¥
47.6
5.3折
¥
89
全新
库存20件
作者朱文伟 李建英 著
出版社清华大学出版社
ISBN9787302580935
出版时间2021-06
装帧平装
开本16开
定价89元
货号29260763
上书时间2024-12-14
商品详情
- 品相描述:全新
- 商品描述
-
前言
如今,计算机视觉算法的应用已经渗透到我们生活的方方面面。机器人、无人机、增强现实、虚拟现实、医学影像分析等,无一不涉及计算机视觉算法。OpenCV是计算机视觉领域的一个图形与图像算法库,在学术界、工业界都得到了广泛的使用。无论是初学者还是资深研究人员,都可以在其中找到得心应手的“武器”,帮助你在研究的道路上披荆斩棘。
关于本书
近年来,在入侵检测、特定目标跟踪、人脸识别等领域,OpenCV可谓大显身手。OpenCV内容之丰富,是目前开源视觉算法库中罕见的。每年我们都能看到不少关于OpenCV的图书,但是随着OpenCV版本更迭,部分学习资料已经过时。本书基于全新的OpenCV 4.5版本编写,面向初学者,既涵盖传统的图形、图像算法,又包括机器学习的相关技术,并配以示例代码,内容丰富,行文通俗。
本书不仅剖析了大量OpenCV函数的调用细节,而且对原理解释得清晰明了,让读者不仅知其然,而且知其所以然。全书介绍了OpenCV 4.5中220多个函数、100多个示例程序,帮助读者熟练掌握OpenCV的应用。本书在介绍OpenCV 4.5新技术的同时,也力求讲解一些其背后的原理和公式,为大家以后做专业的图像开发者铺垫前进的道路。记住,只会调用函数而不知原理和公式,永远不会成为一个专业人士!
源码下载与技术支持
本书示例源码请用微信扫描右边的二维码下载,也可按页面提示转发到自己的邮箱中下载。虽然笔者尽了努力编写本书,但书中依然可能存在错误,敬请读者提出宝贵意见和建议。本书技术支持QQ和电子邮箱,请查看下载资源中的相关文件。
作者
2021年2月
导语摘要
OpenCV是计算机视觉领域的开发者必须掌握的技术。本书针对 OpenCV 4.5进行编写,全面系统地介绍OpenCV 4.5的使用。书中重点介绍OpenCV 4.5相比之前的版本做出的重大修改。 本书共14章,主要内容包括OpenCV 4.5的基础知识、OpenCV开发环境搭建、OpenCV的模块架构、图像的读取与显示、核心模块CORE、图像处理模块基础、灰度变换和直方图修正、图像平滑、几何变换、图像分割、图像金字塔、图像形态学、图像边缘检测、视频加载与摄像头调用、摄像头视频录制以及OpenCV在机器学习方面的应用等,后给出一个停车场车牌识别系统的大案例。 本书适合计算机视觉与图像处理的开发人员、已有图像处理基础并想了解OpenCV 4.5新特性的开发人员阅读,也适合高等院校和培训机构计算机视觉与图像处理相关专业的师生作为教学参考书。
作者简介
朱文伟,名校计算机专业统招硕士,20年C\C 、Java开发经验。主导开发过密码、图形、人工智能等产品。精通Linux、Windows系统开发及数据库开发技术。著有图书《Windows C/C 加密解密实战》《密码学原理与Java实现》《Linux C与C 一线开发实践》《Visual C 2017从入门到精通》。
目录
1.1 图像的基本概念 1
1.1.1 图像和图形 1
1.1.2 什么是数字图像 1
1.1.3 数字图像的特点 2
1.1.4 图像单位(像素) 2
1.1.5 图像分辨率 3
1.1.6 屏幕分辨率 4
1.1.7 图像的灰度 4
1.1.8 灰度级 4
1.1.9 图像深度 5
1.1.10 二值图像 5
1.1.11 灰度图 5
1.1.12 彩色图像 6
1.1.13 通道 6
1.1.14 图像存储 6
1.2 图像噪声 6
1.2.1 图像噪声的定义 6
1.2.2 图像噪声的来源 7
1.2.3 图像噪声的滤除 7
1.3 图像处理 8
1.3.1 图像处理的分类 8
1.3.2 数字图像处理 9
1.3.3 数字图像处理常用的方法 10
1.3.4 图像处理的应用 13
1.4 图像信号处理层次 13
1.5 机器视觉 14
1.5.1 机器视觉的概念 14
1.5.2 机器视觉系统构成和分类 15
1.5.3 机器视觉的优势 15
1.5.4 机器视觉系统的应用 15
1.5.5 计算机视觉与相关学科的关系 15
1.6 OpenCV概述 16
第2章 搭建OpenCV开发环境 18
2.1 视觉图像编程的重要库 18
2.2 启动Visual C 2017 19
2.3 下载OpenCV 4.5 20
2.4 解压OpenCV 20
2.5 在程序中测试OpenCV 21
2.6 在VC中配置通用开发环境 23
2.7 数学函数 24
2.8 OpenCV架构 26
2.9 图像输入输出模块imgcodecs 27
2.9.1 imread读取图像文件 28
2.9.2 imwrite保存图片 30
2.10 OpenCV界面编程 32
2.11 单窗口显示多幅图像 34
2.12 销毁窗口 36
2.13 鼠标事件 39
2.14 键盘事件 42
2.15 滑动条事件 43
第3章 核心模块Core 46
3.1 矩阵操作 46
3.1.1 矩阵类Mat 46
3.1.2 构造法 48
3.1.3 直接赋值法 52
3.1.4 数组法 52
3.1.5 create函数法 53
3.1.6 定义特殊矩阵 53
3.1.7 得到矩阵的行数、列数和维数 54
3.1.8 矩阵的数据指针及其打印 55
3.1.9 创建新的矩阵头 57
3.1.10 得到矩阵通道数 58
3.1.11 复制矩阵 59
3.1.12 判断矩阵是否有元素 64
3.1.13 矩阵的5种遍历方式 64
3.1.14 设置矩阵新值 71
3.1.15 得到矩阵的元素总个数 71
3.1.16 矩形类Rect 72
3.2 数组的操作 73
3.3 XML和YAML文件读写 76
3.3.1 YAML文件简介 76
3.3.2 写入和读取YAML\XML文件的基本步骤 77
3.3.3 XML、YAML文件的打开 77
3.3.4 文本和数字的输入和输出 78
3.3.5 OpenCV数据结构的输入和输出 78
3.3.6 vector(arrays)和 maps的输入和输出 78
3.3.7 文件关闭 79
第4章 图像处理模块基础 85
4.1 颜色变换cvtColor 85
4.2 画基本图形 87
4.2.1 点的表示 87
4.2.2 画矩形 88
4.2.3 画圆 90
4.2.4 画椭圆 91
4.2.5 画线段 94
4.2.6 填充多边形 94
4.3 像素存放类Scalar 97
4.4 使用随机数 99
4.4.1 产生一个随机数 101
4.4.2 返回下一个随机数 102
4.4.3 用随机数填充矩阵 103
4.5 文字绘制 105
4.6 为图像添加边框 112
4.7 在图像中查找轮廓 116
第5章 灰度变换和直方图修正 122
5.1 点运算 122
5.1.1 基本概念 122
5.1.2 点运算的目标 122
5.1.3 点运算的分类 122
5.1.4 点运算的特点 123
5.1.5 点运算的应用 123
5.2 灰度变换 124
5.2.1 灰度变换概述 124
5.2.2 灰度变换的作用 125
5.2.3 灰度变换的方法 125
5.2.4 灰度化 125
5.2.5 对比度 128
5.2.6 灰度的线性变换 129
5.2.7 分段线性灰度变换 132
5.2.8 对数变换和反对数变换 138
5.2.9 幂律变换 143
5.3 直方图修正 145
5.3.1 直方图的概念 145
5.3.2 OpenCV实现灰度直方图 146
5.3.3 直方图均衡化 148
第6章 图像ping滑 154
6.1 ping滑处理算法 154
6.2 线性滤波 156
6.2.1 归一化方框滤波器 156
6.2.2 高斯滤波器 158
6.3 非线性滤波 161
6.3.1 中值滤波 161
6.3.2 双边滤波 162
第7章 几何变换 165
7.1 几何变换基础 165
7.2 图像ping移 168
7.3 图像旋转 171
7.4 仿射变换 175
7.5 图像缩放 179
7.5.1 缩放原理 179
7.5.2 OpenCV中的缩放 180
第8章 图像边缘检测 182
8.1 概述 182
8.2 边缘检测研究的历史现状 185
8.3 边缘定义及类型分析 186
8.4 梯度的概念 187
8.5 图像边缘检测的应用 187
8.6 目前边缘检测存在的问题 189
8.7 边缘检测的基本思想 190
8.8 图像边缘检测的步骤方法 190
8.9 经典图像边缘检测算法 191
8.9.1 差分边缘检测 192
8.9.2 Roberts算子 194
8.9.3 Sobel算子边缘检测 196
8.9.4 Prewitt算子边缘检测 199
8.9.5 LoG边缘检测算子 202
8.9.6 边缘检测的新技术与方法 206
第9章 图像分割 209
9.1 概述 209
9.2 图像分割的应用 211
9.3 图像分割的数学定义 212
9.4 图像分割方法的分类 212
9.4.1 基于阈值的分割方法 213
9.4.2 基于边缘的分割方法 214
9.4.3 基于区域的分割方法 215
9.4.4 基于神经网络的分割方法 216
9.4.5 基于聚类的分割方法 217
9.5 使用OpenCV进行图像分割 218
9.5.1 阈值分割 218
9.5.2 固定阈值分割 218
9.5.3 自适应阈值分割 222
9.6 彩色图像分割 228
9.7 grabCut算法分割图像 232
9.7.1 基本概念 232
9.7.2 grabCut函数 233
9.8 floodFill漫水填充分割 236
9.8.1 基本概念 236
9.8.2 floodFill函数 236
9.9 分水岭分割法 242
9.9.1 基本概念 242
9.9.2 wathershed函数 244
第10章 图像金字塔 253
10.1 基本概念 253
10.2 高斯金字塔 255
10.2.1 向下采样 255
10.2.2 向上采样 258
10.3 拉普拉斯金字塔 260
第11章 图像形态学 263
11.1 基本概念 263
11.2 形态学的应用 263
11.2.1 数学上的形态学 264
11.2.2 格 264
11.2.3 拓扑学 264
11.2.4 数学形态学的组成 265
11.2.5 数学形态学的应用 265
11.2.6 操作分类 266
11.3 结构元素 266
11.4 膨胀 266
11.5 腐蚀 267
11.6 开运算 269
11.7 闭运算 271
11.8 实现腐蚀和膨胀 273
11.9 开闭运算和顶帽黑帽 275
11.10 击中击不中 278
11.11 利用形态学运算提取水ping线和垂直线 282
第12章 视频处理 288
12.1 OpenCV视频处理架构 288
12.2 类VideoCapture 289
12.3 构造VideoCapture对象 289
12.4 判断打开视频是否成功 290
12.5 读取视频帧 290
12.6 播放视频文件 291
12.7 获取和设置视频属性 293
12.8 播放摄像头视频 296
12.9 录制视频类VideoWriter 297
12.9.1 构造VideoWriter对象 297
12.9.2 初始化或重新初始化 298
12.9.3 连接到FourCC代码 298
第13章 机器学习 302
13.1 机器学习概述 302
13.2 机器学习的发展历程 303
13.3 机器学习研究现状 304
13.3.1 传统机器学习的研究现状 305
13.3.2 大数据环境下机器学习的研究现状 306
13.4 机器学习的分类 307
13.4.1 基于学习策略的分类 307
13.4.2 基于学习方法的分类 307
13.4.3 基于学习方式的分类 308
13.4.4 基于数据形式的分类 308
13.4.5 基于学习目标的分类 308
13.5 机器学习常见的算法 308
13.6 机器学习的研究内容 310
13.7 机器学习的应用 311
13.8 OpenCV中的机器学习 312
13.8.1&nb
— 没有更多了 —
以下为对购买帮助不大的评价