猜你喜欢
学习OpenCV 4:基于Python的算法实战

学习OpenCV 4:基于Python的算法实战

书籍作者:肖铃 ISBN:9787121424397
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:10090
创建日期:2023-03-22 发布日期:2023-03-22
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书使用Python语言,以OpenCV源码结构中的模块为章节,系统地介绍了OpenCV在图像处理和计算机视觉领域的应用。

本书第1章主要介绍OpenCV的源码,以及开发环境的搭建和使用源码方式的编译技巧;第2~14章主要介绍OpenCV的各个模块,包括模块导读,以及模块中重点算法使用案例的讲解,并在章节的最后提供了相应的进阶知识。

本书以OpenCV源码结构的方式讲解,一方面可以让读者深入了解OpenCV软件及相应的源码,另一方面可以加深读者对软件的透彻理解。初学者可以参考本书前6章系统地学习图像处理应用,特别是第4章和第5章,因为经典的图像处理算法基本上都封装在imgproc模块中;对于其他特殊需求,可以参考对应章节,如与特征点相关的知识可以参考第10章,与机器学习和深度学习相关的知识可以分别参考第13章和第14章。

本书不仅适合图像处理和计算机视觉领域的读者阅读,还适合高校师生、专业技术人员、图像处理爱好者、深度学习计算机视觉领域爱好者参考使用。


作者简介

肖铃,硕士,现任职于南方海洋科学与工程广东省实验室。2016年毕业于中国科学技术大学与中国科学院合肥物质科学研究院安徽光机所大气光学研究中心,曾就职于中兴通讯股份有限公司和珠海金山办公软件有限公司,长期从事图像处理、深度学习计算机视觉算法,以及基于TensorFlow Lite的AI模型部署研究。


编辑推荐

学习目标:为那些想学习和掌握OpenCV的读者提供一本“看了就能学会”的书。

本书以超过100个案例,使用简洁生动的语言,和更新的Python语言实现代码去描述相应的操作方法,这些经典和主流的算法,让读者能在操练实例的基础上快速掌握操作方法,容易上手,易于学习。


目录

第1章 OpenCV快速入门

1.1 OpenCV介绍

1.1.1 OpenCV概述

1.1.2 OpenCV的代码结构

1.1.3 OpenCV 4的新特性

1.2 OpenCV开发环境搭建

1.2.1 案例1:Windows动态库开发环境搭建

1.2.2 案例2:Linux动态库开发环境搭建

1.2.3 案例3:Python语言开发环境搭建

1.3 OpenCV模块介绍

1.3.1 常用模块

1.3.2 扩展模块

1.4 OpenCV源码编译

1.4.1 案例4:OpenCV编译

1.4.2 案例5:OpenCV裁剪编译

1.4.3 案例6:扩展模块opencv-contrib编译

1.5 进阶必备:OpenCV入门参考

1.5.1 OpenCV版本选择

1.5.2 如何学习OpenCV

第2章 图像读/写模块imgcodecs

2.1 模块导读

2.2 图像读/写操作

2.2.1 案例7:图像读取

2.2.2 案例8:图像保存

2.3 图像编/解码

2.3.1 案例9:图像编码应用

2.3.2 案例10:图像解码应用

2.4 进阶必备:聊聊图像格式

第3章 核心库模块core

3.1 模块导读

3.2 基本数据结构

3.2.1 案例11:Mat数据结构介绍及C++调用

3.2.2 案例12:Python中的Mat对象操作

3.2.3 案例13:Point结构

3.2.4 案例14:Rect结构

3.2.5 案例15:Size结构

3.3 矩阵运算

3.3.1 案例16:四则运算

3.3.2 案例17:位运算

3.3.3 案例18:代数运算

3.3.4 案例19:比较运算

3.3.5 案例20:特征值与特征向量

3.3.6 案例21:生成随机数矩阵

3.4 矩阵变换

3.4.1 案例22:矩阵转向量

3.4.2 案例23:通道分离与通道合并

3.4.3 案例24:图像旋转

3.4.4 案例25:图像拼接

3.4.5 案例26:图像边界拓展

3.4.6 案例27:傅里叶变换

3.5 进阶必备:聊聊图像像素遍历与应用

3.5.1 案例28:图像像素遍历

3.5.2 案例29:提取拍照手写签名

第4章 图像处理模块imgproc(一)

4.1 模块导读

4.2 案例30:颜色空间变换

4.3 案例31:图像尺寸变换

4.4 基本绘制

4.4.1 案例32:绘制标记

4.4.2 案例33:绘制直线

4.4.3 案例34:绘制矩形

4.4.4 案例35:绘制圆

4.4.5 案例36:绘制椭圆

4.4.6 案例37:绘制文字

4.5 形态学运算

4.5.1 案例38:腐蚀

4.5.2 案例39:膨胀

4.5.3 案例40:其他形态学运算

4.6 图像滤波

4.6.1 案例41:方框滤波

4.6.2 案例42:均值滤波

4.6.3 案例43:高斯滤波

4.6.4 案例44:双边滤波

4.6.5 案例45:中值滤波

4.7 边缘检测

4.7.1 案例46:Sobel边缘检测

4.7.2 案例47:Scharr边缘检测

4.7.3 案例48:Laplacian边缘检测

4.7.4 案例49:Canny边缘检测

4.8 进阶必备:聊聊颜色模型

第5章 图像处理模块imgproc(二)

5.1 霍夫变换

5.1.1 案例50:霍夫线变换

5.1.2 案例51:霍夫圆变换

5.2 案例52:仿射变换

5.3 案例53:透视变换

5.4 案例54:重映射

5.5 阈值化

5.5.1 案例55:基本阈值化

5.5.2 案例56:自适应阈值化

5.6 图像金字塔

5.6.1 案例57:高斯金字塔

5.6.2 案例58:拉普拉斯金字塔

5.7 直方图

5.7.1 案例59:直方图计算

5.7.2 案例60:直方图均衡化

5.8 传统图像分割

5.8.1 案例61:分水岭算法

5.8.2 案例62:GrabCut算法

5.8.3 案例63:漫水填充算法

5.9 角点检测

5.9.1 案例64:Harris角点检测&

5.9.2 案例65:Shi-Tomasi角点检测

5.9.3 案例66:亚像素角点检测

5.10 图像轮廓

5.10.1 案例67:轮廓查找

5.10.2 案例68:轮廓绘制

5.11 轮廓包裹

5.11.1 案例69:矩形边框

5.11.2 案例70:最小外接矩形

5.11.3 案例71:最小外接圆

5.12 案例72:多边形填充

5.13 图像拟合

5.13.1 案例73:直线拟合

5.13.2 案例74:椭圆拟合

5.13.3 案例75:多边形拟合

5.14 案例76:凸包检测

5.15 进阶必备:图像处理算法概述

第6章 可视化模块highgui

6.1 模块导读

6.2 图像窗口

6.2.1 案例77:创建与销毁窗口

6.2.2 案例78:图像窗口操作

6.3 图像操作

6.3.1 案例79:图像显示

6.3.2 案例80:选取感兴趣区域

6.4 案例81:键盘操作

6.5 案例82:鼠标操作

6.7 进阶必备:在Qt中使用OpenCV

第7章 视频处理模块videoio

7.1 模块导读

7.2 视频读取

7.2.1 案例84:从文件读取视频

7.2.2 案例85:从设备读取视频

7.3 视频保存

7.3.1 案例86:从图片文件创建视频

7.3.2 案例87:保存相机采集的视频

7.4 进阶必备:视频编/解码工具FFMPEG

第8章 视频分析模块video

8.1 运动分析

8.1.1 模块导读

8.1.2 案例88:基于MOG2与KNN算法的运动分析

8.2 目标跟踪

8.2.1 模块导读

8.2.2 案例89:基于CamShift算法的目标跟踪

8.2.3 案例90:基于meanShift算法的目标跟踪

8.2.4 案例91:稀疏光流法运动目标跟踪

8.2.5 案例92:稠密光流法运动目标跟踪

8.3 进阶必备:深度学习光流算法

第9章 照片处理模块photo

9.1 模块导读

9.2 案例93:基于OpenCV的无缝克隆

9.3 案例94:基于OpenCV的图像对比度保留脱色

9.4 案例95:基于OpenCV的图像修复

9.5 案例96:基于OpenCV的HDR成像

9.6 图像非真实感渲染

9.6.1 案例97:边缘保留滤波

9.6.2 案例98:图像细节增强

9.6.3 案例99:铅笔素描

9.6.4 案例100:风格化图像

9.7 进阶必备:照片处理算法概述

第10章 2D特征模块features2d

10.1 模块导读

10.2 特征点检测

10.2.1 案例101:SIFT特征点检测

10.2.2 案例102:SURF特征点检测

10.2.3 案例103:BRISK特征点检测

10.2.4 案例104:ORB特征点检测

10.2.5 案例105:KAZE特征点检测

10.2.6 案例106:AKAZE特征点检测

10.2.7 案例107:AGAST特征点检测

10.2.8 案例108:FAST特征点检测

10.3 特征点匹配

10.3.1 案例109:Brute-Force特征点匹配

10.3.2 案例110:FLANN特征点匹配

10.4 进阶必备:特征点检测算法概述

第11章 相机标定与三维重建模块calib3d

11.1 模块导读

11.2 单应性变换

11.2.1 案例111:单应性变换矩阵

11.2.2 案例112:单应性应用之图像插入

11.3 相机标定

11.3.1 案例113:棋盘角点检测并绘制

11.3.2 案例114:消除图像失真

11.4 进阶必备:聊聊镜头失真

第12章 传统目标检测模块objdetect

12.1 模块导读

12.2 级联分类器的应用

12.2.1 案例115:人脸检测

12.2.2 案例116:人眼检测

12.3 案例117:HOG描述符行人检测

12.4 二维码应用

12.4.1 案例118:二维码检测

12.4.2 案例119:二维码解码

12.5 进阶必备:聊聊条形码与二维码

第13章 机器学习模块ml 392

13.1 模块导读

13.2 案例120:基于OpenCV的Logistic回归

13.3 案例121:基于OpenCV的支持向量机

13.4 案例122:基于OpenCV的主成分分析

13.5 进阶必备:机器学习算法概述

第14章 深度学习模块dnn

14.1 模块导读

14.2 风格迁移

14.2.1 深度学习风格迁移

14.2.2 案例123:OpenCV实现风格迁移推理

14.3 图像分类

14.3.1 深度学习图像分类

14.3.2 案例124:基于TensorFlow训练Fashion-MNIST算法模型

14.3.3 案例125:OpenCV实现图像分类
推理

14.4 目标检测

14.4.1 深度学习目标检测

14.4.2 案例126:OpenCV实现目标检测推理

14.5 图像超分

14.5.1 深度学习图像超分算法

14.5.2 案例127:OpenCV实现图像超分推理

14.6.1 计算机视觉的发展

14.6.2 OpenCV在计算机视觉中的应用

短评

书看着可以,内容厚实,值得推荐,包装也可以

2022-02-16 18:41:51

大神的神作,认真拜读

2022-01-21 15:34:40

感觉改成基于C++和Python的算法实战会更合适,书籍的内容涉及比较全面,可以作为资料书。

2022-01-05 00:33:16

这是一本系统讲解OpenCV4的书,讲解了OpenCV4的各个模块,第一节有代码导读,介绍了这个模块的所有算法接口,最后一节有进阶,介绍了这个模块相关知识的延伸阅读,最后两章是当今最为火热的机器学习模块ml和深度学习模块DNN的介绍,内容非常全面。

2022-01-18 18:05:39

产品特色