×
OPENCV计算机视觉开发实践:基于PYTHON

包邮OPENCV计算机视觉开发实践:基于PYTHON

1星价 ¥100.6 (7.8折)
2星价¥100.6 定价¥129.0
暂无评论
图文详情
  • ISBN:9787302679325
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:0
  • 出版时间:2025-03-01
  • 条形码:9787302679325 ; 978-7-302-67932-5

本书特色

(1)本书是《OpenCV 4.5计算机视觉开发实战:基于Python》的升级书,主要是OpenCV升级为 4.10,以及增加5个的实战案例。
(2)基于Python 3.8和OpenCV 4.10版本编写,面向初学者,涵盖传统的图形图像算法与视频处理方法,并配以示例代码,内容丰富,行文通俗易懂。
(3)详解OpenCV 中的220多个函数,并给出100多个示例程序,以及车牌识别、目标检测、数字水印、图像加解密、物体计数、图像轮廓、手势识别等案例。
(4)配套示例源码、PPT课件、配图PDF文件与作者QQ一对一答疑服务。


内容简介

"OpenCV是一个跨平台计算机视觉和机器学习软件库,也是计算机视觉领域的开发人员必须掌握的技术。《OpenCV计算机视觉开发实践:基于Python》基于Python 3.8全面系统地介绍OpenCV 4.10的使用,并配套示例源代码、开发环境、PPT课件、配书PDF文件与作者答疑服务。 《OpenCV计算机视觉开发实践:基于Python》共20章,主要内容包括计算机视觉概述、OpenCV的Python开发环境搭建、OpenCV基本操作、数组矩阵、图像处理模块、灰度变换和直方图修正、图像平滑、几何变换、图像边缘检测、图像分割、图像金字塔、图像形态学、视频处理,以及停车场车牌识别、目标检测、数字水印、图像加密和解密、物体计数、图像轮廓和手势识别等案例。 《OpenCV计算机视觉开发实践:基于Python》既适合OpenCV初学者、计算机视觉与图像处理应用开发人员、人工智能算法开发人员阅读,也适合作为高等院校或高职高专院校计算机视觉与图像处理、人工智能等相关专业的教学参考书。"

前言

如今,计算机视觉算法的应用已经渗透到我们生活的方方面面。机器人、无人机、增强现实、虚拟现实、医学影像分析等领域,无一不涉及计算机视觉算法。OpenCV是计算机视觉领域的一个图形与图像算法库,由一系列C函数和少量C 类构成,同时提供了C 、Python、Java、Ruby、MATLAB、C#、Ch、Ruby、Go等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。它既轻量也高效,在学术界、工业界都得到了广泛的使用。无论是初学者还是资深研究人员,都可以在其中找到得心应手的“武器”,帮助你在研究和应用开发的道路上披荆斩棘。
关于本书
近年来,在图像分割、物体识别、运动跟踪、人脸识别、目标检测、机器视觉、机器人等领域,OpenCV可谓大显身手。OpenCV内容之丰富,是目前开源视觉算法库中所罕见的。每年我们都能看到不少关于OpenCV的图书,但是随着OpenCV版本的更迭,部分学习资料已经过时。本书基于Python 3.8和OpenCV 4.10版本编写,面向初学者,涵盖传统的图形图像算法与视频处理方法,并配以示例代码,内容丰富,文字通俗易懂。

目录

第 1 章 计算机视觉概述 1
1.1 图像的基本概念 1
1.1.1 图像和图形 1
1.1.2 数字图像及其特点 2
1.1.3 图像单位 2
1.1.4 图像分辨率与屏幕分辨率 3
1.1.5 图像的灰度与灰度级 3
1.1.6 图像的深度 4
1.1.7 二值图像、灰度图像与彩色图像 4
1.1.8 通道 5
1.1.9 图像存储 5
1.2 图像噪声 5
1.2.1 图像噪声的定义 5
1.2.2 图像噪声的来源 6
1.2.3 图像噪声的滤除 6
1.3 图像处理 7
1.3.1 图像处理的分类 7
1.3.2 数字图像处理 8
1.3.3 数字图像处理常用方法 9
1.3.4 图像处理的应用 11
1.4 计算机视觉概述 12
1.4.1 基本概念 12
1.4.2 计算机视觉的应用 13
1.4.3 与相关学科的区别 14
1.5 OpenCV概述 15
第 2 章 OpenCV的Python开发环境搭建 18
2.1 Python下载与安装 18
2.2 在线安装与卸载opencv-python 20
2.2.1 在线安装opencv-python 20
2.2.2 卸载opencv-python 24
2.3 离线安装opencv-python 24
2.3.1 下载离线版opencv-python 25
2.3.2 离线安装NumPy和Matplotlib库 25
2.3.3 离线安装opencv-python 25
2.4 使用集成开发环境PyCharm 26
2.4.1 PyCharm的下载和安装 26
2.4.2 了解PyCharm的虚拟环境 32
2.4.3 在PyCharm下开发OpenCV程序 34
2.4.4 调试Python程序 35
2.5 测试一下NumPy的数学函数 36
第 3 章 OpenCV基本操作 37
3.1 OpenCV架构 37
3.2 图像输入/输出模块imgcodecs 39
3.2.1 读取图像文件 39
3.2.2 得到读取的图片的高度和宽度 42
3.2.3 imwrite保存图片 42
3.3 OpenCV界面编程 44
3.4 单窗口显示多图片 45
3.5 销毁窗口 47
3.6 调整窗口大小 48
3.7 鼠标事件 49
3.8 键盘事件 52
3.9 滑动条事件 53
第 4 章 数组矩阵 56
4.1 NumPy概述 56
4.2 ndarray对象 57
4.3 NumPy的数据类型 59
4.4 数组属性 61
4.5 新建数组 63
4.6 通过已有的数组创建数组 65
4.7 通过数值范围创建数组 66
4.8 切片和索引 67
4.9 高级索引 69
4.9.1 整数数组索引 69
4.9.2 布尔索引 70
4.9.3 花式索引 71
4.10 迭代数组 72
4.10.1 迭代器对象nditer 72
4.10.2 控制遍历顺序 73
4.10.3 修改数组中元素的值 73
4.10.4 使用外部循环 74
4.10.5 广播迭代 74
4.11 数组操作 75
4.11.1 修改数组形状 75
4.11.2 翻转数组 77
第 5 章 图像处理模块 81
5.1 颜色变换cvtColor 81
5.2 画基本图形 82
5.2.1 画点 82
5.2.2 画矩形 83
5.2.3 画圆 83
5.2.4 画椭圆 84
5.2.5 画线段 86
5.2.6 画多边形 86
5.2.7 填充多边形 87
5.3 文字绘制 89
5.4 为图像添加边框 91
5.5 在图像中查找轮廓 93
第 6 章 灰度变换和直方图修正 95
6.1 点运算 95
6.1.1 点运算的基本概念 95
6.1.2 点运算的目标与分类 96
6.1.3 点运算的特点和应用 96
6.2 灰度变换 97
6.2.1 灰度变换的基本概念 97
6.2.2 灰度变换的作用 97
6.2.3 灰度变换的方法 98
6.2.4 灰度化 98
6.2.5 对比度 101
6.2.6 灰度的线性变换 102
6.2.7 分段线性变换 104
6.2.8 对数变换和反对数变换 106
6.2.9 幂律变换 107
6.3 直方图修正 109
6.3.1 直方图的概念 109
6.3.2 直方图均衡化 112
第 7 章 图像平滑 117
7.1 图像平滑基础 117
7.2 线性滤波 119
7.2.1 归一化方框滤波器 119
7.2.2 高斯滤波器 120
7.3 非线性滤波 124
7.3.1 中值滤波 124
7.3.2 双边滤波 125
第 8 章 几何变换 127
8.1 几何变换基础 127
8.2 图像平移 130
8.3 图像旋转 131
8.4 仿射变换 134
8.5 图像缩放 136
8.5.1 缩放原理 136
8.5.2 OpenCV中的缩放 137
第 9 章 图像边缘检测 139
9.1 概述 139
9.2 边缘检测研究的历史现状 141
9.3 边缘定义及类型分析 142
9.4 梯度的概念 144
9.5 图像边缘检测的应用 144
9.6 目前边缘检测存在的问题 146
9.7 边缘检测的基本思想 147
9.8 图像边缘检测的步骤 147
9.9 经典图像边缘检测算法 149
9.9.1 Roberts算子 150
9.9.2 Sobel算子边缘检测 151
9.9.3 Prewitt算子边缘检测 153
9.9.4 LoG边缘检测算子 155
9.9.5 边缘检测的*新技术与方法 158
第 10 章 图像分割 161
10.1 图像分割概述 161
10.2 图像分割技术现状 162
10.3 图像分割的应用 163
10.4 图像分割的数学定义 164
10.5 图像分割方法的分类 165
10.5.1 基于阈值化的分割方法 165
10.5.2 基于边缘的分割方法 166
10.5.3 基于区域的分割方法 167
10.5.4 基于神经网络的分割方法 169
10.5.5 基于聚类的分割方法 169
10.6 使用OpenCV进行图像分割 170
10.7 彩色图像分割 175
10.8 grabCut算法分割图像 177
10.8.1 基本概念 177
10.8.2 grabCut函数 179
10.9 floodFill漫水填充分割 183
10.9.1 基本概念 183
10.9.2 floodFill函数 183
10.10 分水岭分割法 185
10.10.1 基本概念 186
10.10.2 距离变换函数distanceTransform 189
10.10.3 区域标记函数connectedComponents 191
10.10.4 分水岭函数wathershed 192
第 11 章 图像金字塔 195
11.1 基本概念 195
11.2 高斯金字塔 196
11.2.1 向下采样 197
11.2.2 向上采样 198
11.3 拉普拉斯金字塔 200
第 12 章 图像形态学 202
12.1 图像形态学基本概念 202
12.2 形态学的应用 202
12.3 数学上的形态学 203
12.3.1 拓扑学 203
12.3.2 数学形态学的组成与操作分类 204
12.3.3 数学形态学的应用 204
12.4 结构元素 205
12.5 膨胀 205
12.6 腐蚀 207
12.7 开运算 209
12.8 闭运算 210
12.9 实现腐蚀和膨胀 211
12.10 实现开闭运算和顶帽/黑帽 215
12.11 用形态学运算检测边缘 219
12.12 击中击不中 220
12.13 利用形态学运算提取水平线和垂直线 223
第 13 章 视频处理 225
13.1 OpenCV视频处理架构 225
13.2 捕获视频类VideoCapture 226
13.2.1 构造VideoCapture对象 226
13.2.2 判断打开视频是否成功 227
13.2.3 读取视频帧 227
13.2.4 播放视频文件 228
13.2.5 获取和设置视频属性 230
13.2.6 播放摄像头视频 232
第 14 章 停车场车牌识别案例实战 235
14.1 需求分析 235
14.2 技术可行性分析 236
14.2.1 国外技术分析 236
14.2.2 国内技术分析 238
14.2.3 车牌识别技术的难点 239
14.2.4 车牌识别系统概述 239
14.3 车牌定位技术 240
14.3.1 车牌特征概述 240
14.3.2 车牌定位方法 241
14.3.3 车牌图像预处理 245
14.3.4 车牌图像的灰度化 245
14.3.5 车牌图像的直方图均衡化 247
14.3.6 车牌图像的滤波 248
14.3.7 车牌图像的二值化 249
14.3.8 车牌图像的边缘检测 249
14.3.9 车牌图像的灰度映射 250
14.3.10 车牌图像的改进型投影法定位 250
14.4 车牌字符分割技术 252
14.4.1 常用车牌字符分割算法 252
14.4.2 车牌倾斜问题 254
14.4.3 车牌倾斜度检测方法 254
14.4.4 车牌倾斜的校正方法 255
14.4.5 车牌边框和铆钉的去除 255
14.4.6 车牌字符分割 255
14.4.7 基于垂直投影和先验知识的车牌字符分割 256
14.4.8 粘连车牌字符的分割 257
14.4.9 断裂车牌字符的合并 257
14.4.10 对车牌字符的切分结果进行确认 258
14.5 车牌字符识别技术 259
14.5.1 模式识别 259
14.5.2 字符识别 260
14.5.3 汉字识别 270
第 15 章 OpenCV目标检测 286
15.1 目标检测概述 286
15.2 目标检测的基本概念 288
15.3 视频序列图像预处理 290
15.4 基于深度学习的运动目标检测 291
15.4.1 YOLO运动目标检测算法 292
15.4.2 YOLOv2概述 296
15.4.3 YOLOv3概述 297
15.4.4 实战YOLOv3识别物体 299
15.4.5 SSD运动目标检测算法 309
15.4.6 实战SSD 312
15.4.7 实战人脸检测 314
第 16 章 数字水印 319
16.1 基本概念 319
16.1.1 数字水印的概念 319
16.1.2 数字水印的特点 320
16.2 数字水印原理 320
16.2.1 嵌入过程 321
16.2.2 提取过程 321
16.3 相关函数 321
16.3.1 cv2.bitwise_and函数 322
16.3.2 cv2.bitwise_or函数 323
16.4 代码实现数字水印 324
第 17 章 图像加密和解密 326
17.1 图像加密和解密原理 326
17.2 相关函数 327
17.3 代码实现图像加解密 328
第 18 章 物体计数 330
18.1 基本原理 330
18.2 相关函数 330
18.3 代码实现药片计数 332
第 19 章 图像轮廓 335
19.1 基本概念 335
19.2 应用场景 336
19.3 OpenCV中的轮廓函数 336
19.3.1 查找轮廓findContours 336
19.3.2 轮廓的基本属性 337
19.3.3 绘制轮廓drawContours 338
19.3.4 求轮廓面积contourArea 338
19.4 实战轮廓函数 339
19.5 实战黑白翻转 341
第 20 章 手势识别 343
20.1 概述 343
20.2 NumPy中的ndarray 343
20.2.1 NumPy是什么 344
20.2.2 ndarray的概念 344
20.2.3 ndarray的特点 345
20.2.4 NumPy数组的优势 345
20.2.5 内存中的ndarray对象 345
20.2.6 ndarray数组对象的创建 346
20.2.7 ndarray的重要属性 351
20.2.8 数组的轴和轴的长度 352
20.3 凸包和凸包检测 355
20.4 凸缺陷及其应用 360
20.4.1 查找凸包和凸缺陷的示例 361
20.4.2 凸缺陷的应用 363
20.5 手势识别原理 364
20.6 区分手势0和手势1 365
20.7 区分手势1到手势5 367

展开全部

作者简介

朱文伟,名校计算机专业统招硕士,20多年C\C 、Java开发经验。主导开发过密码、图形、人工智能等产品。精通Linux、Windows系统开发及数据库开发技术。著有图书《OpenCV计算机视觉开发实践:基于Qt C 》《OpenCV计算机视觉开发实践:基于Python》《Linux C与C 一线开发实践(第2版)》《Rust编程与项目实战》《嵌入式Linux驱动开发实践》《高性能Linux网络编程核心技术揭秘》《Linux C/C 服务器开发实践》《Qt 6.x从入门到精通》《PyQt 5从入门到精通》《Linux C与C 一线开发实践》《Visual C 2017从入门到精通》《Windows C/C 加密解密实战》《密码学原理与Java实现》《OpenCV 4.5计算机视觉开发实战(基于VC )》《OpenCV 4.5计算机视觉开发实战:基于Python》。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航