opencv4 python电子书_OpenCV轻松入门面向Python下载-OpenCV轻松入门面向Python电子书pdf免费版-精品下载...

业界专家联合力荐,助您轻松入门!

主要是api调用和简单的原理介绍,适合快速浏览,补齐、梳理相关领域知识,讲的还比较清楚。OpenCV轻松入门:面向Python一书中行文比较啰嗦,不少章节里同一个内容说三遍,适合计算机视觉领域的初学者阅读,包括在校学生、教师、专业技术人员、图像处理爱好者。

OpenCV轻松入门面向Python电子书预览

内容简介

本书基于面向 Python 的 OpenCV(OpenCV for Python),介绍了图像处理的方方面面。本书以 OpenCV 官方文档的知识脉络为主线,并对细节进行补充和说明。

书中不仅介绍了 OpenCV 函数的使用方法,还介绍了函数实现的算法原理。在介绍 OpenCV 函数的 使用方法时,提供了大量的程序示例。而且在介绍函数对图像的处理前,往往先展示函数对数值、数组 的处理,方便读者从数值的角度观察和理解函数的处理过程和结果。在介绍具体的算法原理时,本书尽 量使用通俗易懂的语言和贴近生活的示例来说明问题,避免使用过多复杂抽象的公式。

本书适合计算机视觉领域的初学者阅读,包括在校学生、教师、专业技术人员、图像处理爱好者。

作者介绍

李立宗,南开大学硕士,天津职业技术师范大学副教授,从事计算机视觉领域的教学和科研工作。拥有发明专利一项、软件著作权十余项,公开发表论文十余篇,主编《OpenCV编程案例详解》等多部图书。在网易云课堂主讲的《OpenCV图穷匕见》等多门课程被评为精品课。

此外,神策数据联合创始人兼CTO曹犟,神策数据联合创始人兼首席架构师付力力,神策数据资深算法工程师邹雨晗,神策数据架构师房东雨,神策数据算法工程师韩越,神策数据数据分析总监陈新祥,神策数据用户行为洞察研究院负责人张乔,以及神策数据分析师高娜、薛创宇、李金霞、朱静芸均参与了此书的写作。

目录大全

第1章 OPENCV入门1

1.1 如何使用1

1.2 图像处理基本操作3

1.2.1 读取图像3

1.2.2 显示图像5

1.2.3 保存图像9

1.3 OpenCV贡献库10

第2章 图像处理基础11

2.1 图像的基本表示方法11

2.2 像素处理15

2.3 使用numpy.array访问像素23

2.4 感兴趣区域(ROI)29

2.5 通道操作32

2.5.1 通道拆分32

2.5.2 通道合并34

2.6 获取图像属性36

第3章 图像运算37

3.1 图像加法运算37

3.1.1 加号运算符37

3.1.2 cv2.add()函数38

3.2 图像加权和40

3.3 按位逻辑运算43

3.3.1 按位与运算43

3.3.2 按位或运算46

3.3.3 按位非运算47

3.3.4 按位异或运算48

3.4 掩模49

3.5 图像与数值的运算52

3.6 位平面分解53

3.7 图像加密和解密59

3.8 数字水印63

3.8.1 原理64

3.8.2 实现方法66

3.8.3 例题73

3.9 脸部打码及解码74

第4章 色彩空间类型转换77

4.1 色彩空间基础77

4.1.1 GRAY色彩空间77

4.1.2 XYZ色彩空间78

4.1.3 YCrCb色彩空间78

4.1.4 HSV色彩空间79

4.1.5 HLS色彩空间80

4.1.6 CIEL*a*b*色彩空间80

4.1.7 CIEL*u*v*色彩空间81

4.1.8 Bayer色彩空间82

4.2 类型转换函数82

4.3 类型转换实例88

4.3.1 通过数组观察转换效果88

4.3.2 图像处理实例92

4.4 HSV色彩空间讨论93

4.4.1 基础知识93

4.4.2 获取指定颜色95

4.4.3 标记指定颜色96

4.4.4 标记肤色100

4.4.5 实现艺术效果101

4.5 alpha通道102

第5章 几何变换106

5.1 缩放106

5.2 翻转110

5.3 仿射111

5.3.1 平移112

5.3.2 旋转113

5.3.3 更复杂的仿射变换114

5.4 透视115

5.5 重映射117

5.5.1 映射参数的理解117

5.5.2 复制119

5.5.3 绕x轴翻转121

5.5.4 绕y轴翻转122

5.5.5 绕x轴、y轴翻转124

5.5.6 x轴、y轴互换126

5.5.7 图像缩放128

第6章 阈值处理130

6.1 threshold函数130

6.1.1 二值化阈值处理(cv2.THRESH_BINARY)131

6.1.2 反二值化阈值处理(cv2.THRESH_BINARY_INV)133

6.1.3 截断阈值化处理(cv2.THRESH_TRUNC)135

6.1.4 超阈值零处理(cv2.THRESH_TOZERO_INV)136

6.1.5 低阈值零处理(cv2.THRESH_TOZERO)138

6.2 自适应阈值处理139

6.3 Otsu处理141

第7章 图像平滑处理144

7.1 均值滤波146

7.1.1 基本原理146

7.1.2 函数语法150

7.1.3 程序示例150

7.2 方框滤波152

7.2.1 基本原理152

7.2.2 函数语法153

7.2.3 程序示例154

7.3 高斯滤波156

7.3.1 基本原理156

7.3.2 函数语法158

7.3.3 程序示例159

7.4 中值滤波159

7.4.1 基本原理160

7.4.2 函数语法161

7.4.3 程序示例161

7.5 双边滤波162

7.5.1 基本原理162

7.5.2 函数语法164

7.5.3 程序示例164

7.6 2D卷积166

第8章 形态学操作168

8.1 腐蚀168

8.2 膨胀173

8.3 通用形态学函数178

8.4 开运算179

8.5 闭运算180

8.6 形态学梯度运算182

8.7 礼帽运算183

8.8 黑帽运算185

8.9 核函数186

第9章 图像梯度189

9.1 Sobel理论基础189

9.2 Sobel算子及函数使用191

9.2.1 参数ddepth192

9.2.2 方向195

9.2.3 实例196

9.3 Scharr算子及函数使用200

9.4 Sobel算子和Scharr算子的比较204

9.5 Laplacian算子及函数使用206

9.6 算子总结208

第10章 CANNY边缘检测209

10.1 Canny边缘检测基础209

10.2 Canny函数及使用213

第11章 图像金字塔215

11.1 理论基础215

11.2 pyrDown函数及使用217

11.3 pyrUp函数及使用219

11.4 采样可逆性的研究220

11.5 拉普拉斯金字塔223

11.5.1 定义223

11.5.2 应用225

第12章 图像轮廓229

12.1 查找并绘制轮廓229

12.1.1 查找图像轮廓:findContours函数229

12.1.2 绘制图像轮廓:drawContours函数237

12.1.3 轮廓实例238

12.2 矩特征240

12.2.1 矩的计算:moments函数241

12.2.2 计算轮廓的面积:contourArea函数243

12.2.3 计算轮廓的长度:arcLength函数246

12.3 Hu矩248

12.3.1 Hu矩函数248

12.3.2 形状匹配252

12.4 轮廓拟合254

12.4.1 矩形包围框254

12.4.2 最小包围矩形框257

12.4.3 最小包围圆形259

12.4.4 最优拟合椭圆260

12.4.5 最优拟合直线261

12.4.6 最小外包三角形262

12.4.7 逼近多边形263

12.5 凸包266

12.5.1 获取凸包267

12.5.2 凸缺陷268

12.5.3 几何学测试270

12.6 利用形状场景算法比较轮廓275

12.6.1 计算形状场景距离275

12.6.2 计算Hausdorff距离278

12.7 轮廓的特征值280

12.7.1 宽高比280

12.7.2 Extent281

12.7.3 Solidity282

12.7.4 等效直径(Equivalent Diameter)283

12.7.5 方向284

12.7.6 掩模和像素点286

12.7.7 最大值和最小值及它们的位置291

12.7.8 平均颜色及平均灰度293

12.7.9 极点294

第13章 直方图处理297

13.1 直方图的含义297

13.2 绘制直方图301

13.2.1 使用Numpy绘制直方图301

13.2.2 使用OpenCV绘制直方图302

13.2.3 使用掩模绘制直方图307

13.3 直方图均衡化312

13.3.1 直方图均衡化原理313

13.3.2 直方图均衡化处理317

13.4 pyplot模块介绍319

13.4.1 subplot函数319

13.4.2 imshow函数320

第14章 傅里叶变换324

14.1 理论基础324

14.2 Numpy实现傅里叶变换328

14.2.1 实现傅里叶变换329

14.2.2 实现逆傅里叶变换330

14.2.3 高通滤波示例331

14.3 OpenCV实现傅里叶变换333

14.3.1 实现傅里叶变换333

14.3.2 实现逆傅里叶变换335

14.3.3 低通滤波示例336

第15章 模板匹配339

15.1 模板匹配基础339

15.2 多模板匹配345

第16章 霍夫变换351

16.1 霍夫直线变换351

16.1.1 霍夫变换原理351

16.1.2 HoughLines函数357

16.1.3 HoughLinesP函数359

16.2 霍夫圆环变换361

第17章 图像分割与提取364

17.1 用分水岭算法实现图像分割与提取364

17.1.1 算法原理364

17.1.2 相关函数介绍366

17.1.3 分水岭算法图像分割实例375

17.2 交互式前景提取376

第18章 视频处理383

18.1 VideoCapture类383

18.1.1 类函数介绍383

18.1.2 捕获摄像头视频387

18.1.3 播放视频文件388

18.2 VideoWriter类389

18.2.1 类函数介绍389

18.2.2 保存视频391

18.3 视频操作基础392

第19章 绘图及交互393

19.1 绘画基础393

19.1.1 绘制直线394

19.1.2 绘制矩形394

19.1.3 绘制圆形395

19.1.4 绘制椭圆397

19.1.5 绘制多边形398

19.1.6 在图形上绘制文字400

19.2 鼠标交互402

19.2.1 简单示例404

19.2.2 进阶示例405

19.3 滚动条407

19.3.1 用滚动条实现调色板408

19.3.2 用滚动条控制阈值处理参数409

19.3.3 用滚动条作为开关410

第20章 K近邻算法412

20.1 理论基础412

20.2 计算415

20.2.1 归一化415

20.2.2 距离计算416

20.2 手写数字识别的原理417

20.3 自定义函数手写数字识别421

20.4 K近邻模块的基本使用427

20.5 K近邻手写数字识别429

第21章 支持向量机431

21.1 理论基础431

21.2 SVM案例介绍434

第22章 K均值聚类439

22.1 理论基础439

22.1.1 分豆子439

22.1.2 K均值聚类的基本步骤441

22.2 K均值聚类模块441

22.3 简单示例442

第23章 人脸识别448

23.1 人脸检测448

23.1.1 基本原理448

23.1.2 级联分类器的使用451

23.1.3 函数介绍452

23.1.4 案例介绍453

23.2 LBPH人脸识别454

23.2.1 基本原理454

23.2.2 函数介绍456

23.2.3 案例介绍457

23.3 EigenFaces人脸识别458

23.3.1 基本原理458

23.3.2 函数介绍459

23.3.3 案例介绍460

23.4 Fisherfaces人脸识别461

23.4.1 基本原理461

23.4.2 函数介绍463

23.4.3 案例介绍464

23.5 人脸数据库465

参与文献467

附录A 范例470

在线免费阅读

目前,计算机视觉技术的应用越来越广泛。伴随着硬件设备的不断升级,构造复杂的计算机视觉应用变得越来越容易了。有非常多的软件工具和库可以用来构造计算机视觉应用,而面向Python的OpenCV(OpenCV for Python)就是一个很好的选择,本书正是基于面向Python的OpenCV来讲解的。

本书的主要内容和特点

OpenCV本身是一个“黑盒”,它为我们提供了接口(参数、返回值)。我们只需要掌握接口的正确使用方法,就可以在完全不了解其内部工作原理(算法)的情况下,方便地进行各种复杂的图像处理。在这一点上,它和Photoshop等工具是相似的,只要掌握了正确的使用方法,就能够得到正确的处理结果。它们都尝试让我们专注于图像处理本身,而不用去考虑算法实现的细节。

在学习Photoshop时,我们学习的是如何使用它的功能,而不需要系统地学习每个功能所采用的算法原理。但是很明显,我们在使用OpenCV进行图像处理时,是不能完全忽略算法实现的,否则是不可能用好OpenCV的,更不能设计出好的计算机视觉应用系统。

从上述角度讲,我们可以从两个角度学习OpenCV:

?    将OpenCV作为“白盒”学习:深入学习OpenCV每个函数所使用算法的基本原理、每个函数的具体实现细节,进一步加深对图像处理的理解。

?    将OpenCV作为“黑盒”学习:仅仅将OpenCV作为一个工具来使用,学习的是每个函数内参数的含义和使用方式,学习的目的是更好地使用OpenCV函数。

本书尽量帮助读者在“黑盒”学习和“白盒”学习之间取得平衡。在介绍具体的算法原理时,尽量使用通俗易懂的语言和贴近生活的示例来说明问题,避免使用过多复杂抽象的公式。希望这样的安排能够帮助读者更好地掌握计算机视觉的相关知识,更透彻地理解计算机视觉的相关算法。在介绍OpenCV函数的使用方法时,我们为读者提供了大量的程序示例。而且在介绍函数对图像的处理前,往往先展示函数对数值、数组的处理,方便读者从数值的角度观察和理解函数的处理过程和结果。希望这些例题能够帮助读者更好地理解OpenCV处理图像的方式,快速地掌握OpenCV的使用方法,更好地使用OpenCV进行图像处理。需要说明的一点是,本书为黑白印刷,无法很好地呈现某些程序的运行效果,请读者自行运行程序并观察结果。

在内容的设置上,本书以OpenCV官方文档的知识脉络为主线,在此基础上对细节进行补充和说明。

为了方便读者学习,本书力求将每一个知识点作为一个独立的点来介绍和说明。在介绍知识点时,尽量采用从零开始的方式,以避免读者在学习过程中需要不断地离开当前知识点,去查阅相关背景资料。但是由于篇幅有限,如果某一函数已经在前面介绍过,在后面用到该函数时,就没有对其进行重复介绍,而是给出介绍该函数语法的章节位置,方便读者参考阅读。

本书适合计算机视觉领域的初学者阅读,包括在校学生、教师、专业技术人员、图像处理爱好者。

感谢

首先,我要感谢我的老师高铁杠教授,感谢高老师带我走进了计算机视觉这一领域,让我对计算机视觉产生了浓厚的兴趣,更要感谢高老师一直以来对我的关心和帮助。

感谢本书的策划编辑符隆美老师,符老师的专业精神给我留下了非常深刻的印象。感谢本书的责任编辑王中英和许艳老师,她们对本书内容做出了细致修改,不仅修改了很多不通顺的语句和错别字,还对书中存在的技术问题进行了确认和修正。还要感谢为本书出版而付出辛苦工作的电子工业出版社的其他老师们。

感谢OpenCV开源库的所有贡献者。

感谢合作单位天津拨云咨询服务有限公司为本书提供的支持。

感谢我的家人,感谢你们一直以来对我的理解、支持和付出。

opencv轻松入门面向Python评价

本书采用Python语言,以案例的形式介绍了OpenCV中的常用算法及其使用方法。Python是一种高效的开发语言,使用Python调用OpenCV中的算法,可以快速地实现计算机视觉应用。

于仕琪   OpenCV开源库在国内的早期推广者,“OpenCV系列”图书译者、作者,OpenCV中文站站长

本书以通俗的语言,结合贴近生活的实例,形象地介绍了面向Python的OpenCV中各个函数的基本原理和使用方法。希望这本书能够为大家带来有益的启发,帮助大家更好、更快、更全面地掌握面向Python的OpenCV,在计算机视觉领域有所作为。

高铁杠    南开大学教授、博士生导师

Python是一门跨平台、开源、免费的解释型高级动态编译语言,它使得各领域的工程师、科研人员、策划人员甚至管理人员能够快速实现和验证自己的思路、创意甚至推测。在有些语言中需要编写大量代码才能实现的功能,在Python中直接调用内置函数或者标准库方法即可实现,大幅简化了代码的编写和维护。开发者仅需要把主要精力放在业务逻辑的设计和实现上,Python会自动在开发速度和运行效率之间做出平衡,其精妙之处令人击节赞叹。

董付国    《Python程序设计》一书作者

计算机视觉是一个崭新而又充满希望的研究领域,而OpenCV是辅助计算机视觉的出色开源工具。OpenCV库旨在提供易于使用的计算机视觉接口,它包含各个领域的500多个函数,能够帮助人们方便、快速、高效地构建视觉应用。不仅如此,它还提供了一个完备的、具有通用性的机器学习模块。可想而知,将Python和OpenCV结合,将产生巨大的威力。

本书比较系统地介绍了面向Python的OpenCV视觉库的使用,内容通俗易懂、生动有趣,案例丰富,实用性强。相信通过学习这本书,大家能够在计算机视觉领域快速入门,熟练地使用面向Python的OpenCV解决实际问题。

毕磊     腾讯科技高级工程师

有幸提前翻阅了这本书的内容,和李老师的课程一样,循序渐进,深入浅出,非常适合我这样的初学者。感谢老师开发了如此通俗易懂的OpenCV课程,让OpenCV的学习变得非常轻松。

LittleKEY  在线视频课程学员

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值