《OpenCV 4快速入门》2020出版,407页 《OpenCV 4详解:基于Python》2021出版,363页
第 1章 初识OpenCV 2 | 第 1章 初识OpenCV 1 |
1.1 什么是OpenCV 2 | 1.1 什么是OpenCV 1 |
1.1.1 OpenCV与计算机视觉 2 | 1.1.1 OpenCV与计算机视觉 1 |
1.1.2 OpenCV的发展 3 | 1.1.2 OpenCV的发展 2 |
1.1.3 OpenCV 4带来了什么 4 | 1.1.3 OpenCV 4带来了什么 3 |
1.2 安装OpenCV 4 4 | 1.2 安装OpenCV-Python 4 |
1.2.1 在Windows系统中安装OpenCV 4 4 | 1.2.1 在Windows系统中安装OpenCV-Python 4 |
1.2.2 Image Watch插件的使用 12 | |
1.2.3 在Ubuntu系统中安装OpenCV 4 12 | 1.2.2 在Ubuntu系统中安装OpenCV-Python 9 |
1.2.4 opencv_contrib扩展模块的安装 15 | |
1.2.5 安装过程中常见问题的解决方案 17 | |
1.3 了解OpenCV的模块架构 18 | 1.3 OpenCV的模块架构 12 |
1.4 源码示例程序展示 19 | 1.4 示例程序 14 |
1.4.1 配置示例程序运行环境 19 | 1.4.1 配置运行环境 14 |
1.4.2 边缘检测edge 21 | 1.4.2 边缘检测 14 |
1.4.3 K聚类kmeans 22 | 1.4.3 K聚类算法 15 |
1.4.4 二维码识别qrcode 23 | 1.4.4 基于特征点的图像匹配 16 |
1.4.5 相机使用video_capture_starter 24 | 1.4.5 行人检测 17 |
1.4.6 视频物体跟踪camshiftdemo 25 | 1.4.6 手写数字识别 18 |
1.5 本章小结 26 | 1.5 本章小结 19 |
第 2章 数据载入、显示与保存 27 | 第 2章 载入、显示与保存数据 20 |
2.1 图像存储容器 27 | 2.1 图像的表示 20 |
2.1.1 Mat类介绍 27 | 2.1.1 图像基础 20 |
2.1.2 Mat类构造与赋值 29 | 2.1.2 NumPy相关介绍 22 |
2.1.3 Mat类支持的运算 33 | |
2.1.4 Mat类元素的读取 35 | |
2.2 图像的读取与显示 37 | 2.2 图片的读取与显示 27 |
2.2.1 图像读取函数imread 38 | 2.2.1 图片读取函数 28 |
2.2.2 图像窗口函数namedWindow 39 | 2.2.2 图像窗口函数 29 |
2.2.3 图像显示函数imshow 40 | 2.2.3 图片显示函数 29 |
2.3 视频加载与摄像头调用 40 | 2.3 视频加载与摄像头调用 30 |
2.3.1 视频数据的读取 40 | 2.3.1 读取视频数据 30 |
2.3.2 摄像头的直接调用 42 | 2.3.2 摄像头的直接调用 33 |
2.4 数据保存 43 | 2.4 数据保存 33 |
2.4.1 图像的保存 43 | 2.4.1 保存图像 34 |
2.4.2 视频的保存 45 | 2.4.2 保存视频 36 |
2.4.3 保存和读取XML和YMAL文件 47 | 2.4.3 保存和读取XML和YMAL文件 38 |
2.5 本章小结 52 | 2.5 本章小结 41 |
第3章 图像基本操作 54 | 第3章 图像基本操作 42 |
3.1 图像颜色空间 54 | 3.1 颜色空间 42 |
3.1.1 颜色模型与转换 54 | 3.1.1 颜色空间与转换 42 |
3.1.2 多通道分离与合并 59 | 3.1.2 多通道分离与合并 47 |
3.2 图像像素操作处理 61 | 3.2 关于像素的操作 49 |
3.2.1 图像像素统计 62 | 3.2.1 图像像素统计 50 |
3.2.2 两图像间的像素操作 66 | 3.2.2 两图像间的像素操作 53 |
3.2.3 图像二值化 71 | 3.2.3 图像二值化 58 |
3.2.4 LUT 76 | 3.2.4 LUT 62 |
3.3 图像变换 78 | 3.3 图像连接和图像变换 64 |
3.3.1 图像连接 78 | 3.3.1 图像连接 64 |
3.3.2 图像尺寸变换 81 | 3.3.2 图像尺寸变换 66 |
3.3.3 图像翻转变换 83 | 3.3.3 图像翻转变换 68 |
3.3.4 图像仿射变换 84 | 3.3.4 图像仿射变换 69 |
3.3.5 图像透视变换 88 | 3.3.5 图像透视变换 72 |
3.3.6 极座标变换 90 | 3.3.6 极座标变换 75 |
3.4 在图像上绘制几何图形 92 | 3.4 在图像上绘制几何图形和生成文字 77 |
3.4.1 绘制圆形 92 | 3.4.1 绘制圆形 77 |
3.4.2 绘制直线 93 | 3.4.2 绘制直线 78 |
3.4.3 绘制椭圆 93 | 3.4.3 绘制椭圆 78 |
3.4.4 绘制多边形 94 | 3.4.4 绘制多边形 79 |
3.4.5 文字生成 95 | 3.4.5 生成文字 80 |
3.5 感兴趣区域 97 | 3.5 感兴趣区域 83 |
3.6 图像“金字塔” 100 | 3.6 图像金字塔 85 |
3.6.1 高斯“金字塔” 100 | 3.6.1 高斯金字塔 85 |
3.6.2 拉普拉斯“金字塔” 101 | 3.6.2 拉普拉斯金字塔 86 |
3.7 窗口交互操作 104 | 3.7 窗口交互操作 88 |
3.7.1 图像窗口滑动条 104 | 3.7.1 图像窗口滑动条 88 |
3.7.2 鼠标响应 106 | 3.7.2 鼠标响应 90 |
3.8 本章小结 109 | 3.8 本章小结 92 |
第4章 图像直方图与模板匹配 111 | 第4章 图像直方图 94 |
4.1 图像直方图的绘制 111 | 4.1 图像直方图的计算与绘制 94 |
4.1.1 图像直方图的计算 94 | |
4.1.2 图像直方图的绘制 96 | |
4.2 直方图操作 113 | 4.2 2D直方图 100 |
4.3 直方图应用 120 | 4.3 关于直方图的操作 103 |
4.2.1 直方图归一化 113 | 4.3.1 直方图归一化 103 |
4.2.2 直方图比较 116 | 4.3.2 直方图比较 106 |
4.3.1 直方图均衡化 120 | 4.3.3 直方图均衡化 109 |
4.3.2 直方图匹配 122 | 4.3.4 直方图匹配 111 |
4.3.3 直方图反向投影 125 | 4.3.5 直方图反向投影 114 |
4.4 图像的模板匹配 127 | 4.4 图像模板匹配 115 |
4.5 本章小结 131 | 4.5 本章小结 119 |
第5章 图像滤波 132 | 第5章 图像滤波 120 |
5.1 图像卷积 132 | 5.1 图像卷积 120 |
5.2 噪声的种类与生成 136 | 5.2 噪声的种类与生成 124 |
5.2.1 椒盐噪声 136 | 5.2.1 椒盐噪声 124 |
5.2.2 高斯噪声 139 | 5.2.2 高斯噪声 126 |
5.3 线性滤波 142 | 5.3 线性滤波 129 |
5.3.1 均值滤波 142 | 5.3.1 均值滤波 129 |
5.3.2 方框滤波 145 | 5.3.2 方框滤波 132 |
5.3.3 高斯滤波 147 | 5.3.3 高斯滤波 134 |
5.3.4 可分离滤波 151 | 5.3.4 可分离滤波 137 |
5.4 非线性滤波 154 | 5.3.5 中值滤波 140 |
5.4.1 中值滤波 154 | 5.3.6 双边滤波 142 |
5.4.2 双边滤波 156 | |
后续均相同 |