《基于OpenCV的数字图像处理技术》从OpenCV出发,介绍数字图像处理相关基本理论和算法以及在OpenCV平台的实现方法,也介绍一些常用的计算机视觉方法。
《基于OpenCV的数字图像处理技术》可以作为信号与信息处理、计算机科学与技术、通信工程、地球物理、医学等专业本科数字图像处理相关课程的基础教材,也可以作为相关专业研究生的参考材料,还可供相应的工程技术人员参考使用。
第1章绪论之后,《基于OpenCV的数字图像处理技术》主要分为3个部分。
第1部分是OpenCV平台的编译和使用,包括第2章和第3章。通过本部分内容的学习,读者能够掌握OpenCV平台的使用方法和一些基本的UI操作。
第2部分是传统的数字图像处理部分内容,包括第4章空间域图像处理,第5章频域图像处理,第6章彩色图像处理,第7章图像分割,第8章形态学处理。通过本部分的学习,读者能够掌握图像处理的一些基本概念和基本方法。
第3部分是与计算机视觉相关的图像处理内容,包括第9章目标检测,第10章2D图像特征,第11章目标跟踪,第12章基于深度学习的图像处理。通过本部分的学习,读者能够完成一些常用的计算机视觉任务,如目标检测、图像拼接、目标跟踪和基于深度学习的目标识别等。
第1章 绪论
1.1 图像的获取方式
1.2 图像的表示
1.3 数字图像的基本类型
1.4 图像存储和图像文件格式
1.4.1 BMP图像
1.4.2 TIFF图像
1.4.3 GIF图像
1.4.4 PNG图像
1.4.5 JPEG图像
1.5 数字图像处理的主要研究内容
1.6 总结
1.7 实习题
第2章 OpenCV简介
2.1 OpenCV简介
2.1.1 OpenCV主要发展历史
2.1.2 OpenCV的特点
2.1.3 OpenCV的设计目标
2.1.4 OpenCV的应用领域
2.1.5 OpenCV的结构和内容
2.2 OpenCV的下载和安装
2.2.1 OpenCV资源
2.2.2 OpenCV发行版的安装和使用
2.2.3 OpenCV源码的编译
2.2.4 在visual C++工程中使用OpenCV的静态库
2.3 OpenCV API使用特点
2.3.1 cv命名空间
2.3.2 自动内存管理
2.3.3 输出数据自动分配内存
2.3.4 饱和转换
2.3.5 固定的数据类型和对模板的限制使用
2.3.6 InputArray和OutputArray
2.3.7 错误处理
2.3.8 多线程和可重人性
2.4 OpenCV的头文件
2.5 OpenCV图形用户接口HighGUI模块介绍
2.5.1 读取和显示图像
2.5.2 播放视频
2.5.3 滑动条
2.5.4 鼠标的操作
2.5.5 cv:waitKey()函数
2.6 总结
2.7 实习题
第3章 OpenCV基本数据结构和基本组件
3.1 基础图像容器cv::Mat
3.1.1 cv::Mat类简介
3.1.2 Mat类常用构造方法
3.1.3 cv::Mat基本操作
3.1.4 cv::Mat中数据元素的访问
3.1.5 MFC中cv::Mat图像的显示
3.2 其他常用数据结构和函数
3.2.1 点的表示:cv::Point类
3.2.2 颜色表示:cv::Scalar类
3.2.3 尺寸的表示:cv::Size类
3.2.4 矩形的表示:cv::Rect类
3.2.5 旋转矩形类:cv::RotatedRect类
3.2.6 固定矩阵类
3.2.7 固定向量类:cv::Vec
3.2.8 复数类
3.3 辅助对象
3.3.1 cv::TermCriteria类
3.3.2 cv::Range类
3.3.3 cv::Ptr模板类
3.4 工具函数和系统函数
3.4.1 数学函数
3.4.2 内存管理函数
3.4.3 性能优化函数
3.4.4 异常处理函数
3.5 图像上简单绘图
3.5.1 绘制文字
3.5.2 绘制直线和矩形
3.5.3 绘制折线
3.5.4 图像上绘制圆形和椭圆
3.6 保存图像
3.7 图像几何操作
3.7.1 图像均匀调整
3.7.2 仿射变换
3.7.3 对数极坐标变换
3.8 总结
3.9 实习题
第4章 数字图像灰度变换与空间滤波
第5章 频域图像处理
第6章 彩色图像处理
第7章 图像分割
第8章 数学形态学处理
第9章 特征提取和目标检测
第10章 2D图像特征
第11章 视频目标跟踪
第12章 基于深度神经网络DNN的图像处理