写作初心
OpenCV作为开源的计算机视觉框架已经有超过20年的发展历程,OpenCV4是OpenCV目前为止最重要的里程碑版本。OpenCV4不仅包含了传统图像处理、图像分析、特征提取等模块的各种主流算法算子,还包含了深度学习模型部署与加速支持模块,兼容支持多种硬件与操作系统。
OpenCV开发的应用场景与领域也十分广泛,包括机器视觉领域的缺陷检测、生物医学领域的图像处理、无人机领域的目标识别、巡检与搜飞、安防监控领域的预警监测、交通运输领域的各种识别与道路缺陷检查等等。
学习OpenCV系统化掌握OpenCV工程化技术,能落地实际项目是很多开发者迫切需要的,然而当前OpenCV相关的书籍虽多,但是真正做到有的放矢、聚焦工程化开发落地所需的核心技能系统化输出知识点的OpenCV书籍依然难觅踪迹。
笔者作为在工程一线从事OpenCV开发与视觉技术研究超过十年的资深开发者,深深感到有责任把自己过去十多年的OpenCV开发与工程落地经验系统化的分享给大家。本书聚焦与提炼了笔者在机器视觉、生物医药等行业使用OpenCV开发必须掌握的核心知识点与相关主要模块,合理化安排章节内容,帮助大家系统化掌握OpenCV应用开发从而实现项目应用工程化落地。
本书内容与特色
本书包括三大部分,对应着三个层次的OpenCV开发进阶:
(1)基础篇学习OpenCV基础知识,知道如何简单使用API函数;
(2)进阶篇学习OpenCV核心API、达到熟练掌握可以解决常见的计算机视觉问题;
(3)高级实战篇:综合运用OpenCV开发知识,解决实际问题。
第一部分针对初级读者
介绍什么是OpenCV、如何开始写第一行OpenCV代码,图像如何被OpenCV加载与显示、OpenCV基础API操作、Mat对象与像素操作。
第二部分针对中级读者
从图像卷积开始,认真学习OpenCV图像处理、特征提取、机器学习等核心模块相关知识点、穿插大量工程案例与代码实践、从图像卷积滤波到二值图像分析、图像特征提取、自定义对象检测、完整系统化的学习OpenCV传统图像处理的经典知识点与案例。真正做到扎实基础、构建中级水准,可以解决常见计算机视觉问题。
第三部分针对高级读者
这是本书的重点与难点,主要涉及传统OpenCV传统图像处理与分析实现缺陷检测的各种方法与案例详解、OpenCV深度神经网络模型推理与加速、YOLOv5定义对象检测、深度神经网络模型压缩与优化、模型转换与加速推理、OpenVINO、CUDA加速等模块与OpenCV结合使用等相关知识点。
通过对本书的学习,读者对OpenCV整个框架理解、相关模块的运用能力都达到一个新的高度、有能力基于OpenCV算法算子设计复杂的算法处理流程、通过OpenCV解决实际问题、结合深度学习模型部署加速技术,为公司落地项目,体现自身商业价值、帮助公司拓展OpenCV与计算机视觉在各个行业的应用市场。
书中全部源代码已经基于OpenCV4.8 + VS2017调试通过。
《OpenCV应用开发:入门、进阶与工程化实践》
本书目录
第一部分 基础篇
第1章 OpenCV介绍与安装
1.1 OpenCV介绍
1.1.1 OpenCV历史
1.1.2 OpenCV模块与功能
1.1.3 OpenCV4里程碑
1.1. OpenCV应用现状和发展趋势
1.2 OpenCV源码项目
1.3 OpenCV4开发环境搭建
1.4 第一个OpenCV开发程序
1.5 图像加载与保存
1.5.1 加载图像
1.5.2 保存图像
1.6 加载视频
1.7 小结
第2章 Mat与像素操作
2.1 Mat对象
2.1.1什么是Mat对象
2.1.2 一切数据皆Mat
2.1.3 Mat类型与深度
2.1.4 Mat对象创建
2.2 像素访问
2.2.1遍历Mat中的像素数据
2.2.2像素算术运算
2.2.3位运算
2.2.4调整图像亮度与对比度
2.3 图像类型与通道
2.3.1图像类型
2.2.2图像通道
2.2.3通道操作
第3章 色彩空间
3.1 RGB色彩空间
3.2 HSV色彩空间
3.3 Lab色彩空间
3.4 色彩空间转换与应用
3.5 小结
第4章 图像直方图
4.1像素统计信息
4.2 直方图与绘制
4.3 直方图均衡化
4.4 直方图比较
4.5 直方图反向投影
4.6 小结
第二部分 进阶篇
第5章 卷积操作
5.1 卷积概念
5.2 卷积模糊
5.3 自定义滤波
5.4 梯度提取
5.5 边缘发现
5.6 噪声与去噪声
5.7 边缘保留滤波
5.8 锐化增强
5.9 小结
第6章 二值图像
6.1 图像阈值化操作
6.2 全局阈值分割
6.3 自适应阈值分割
6.4 去噪与二值化
6.5 小结
第7章 二值分析
7.1 二值图像分析概述
7.2 连通组件扫描
7.3 轮廓发现
7.4 轮廓测量
7.5 拟合与逼近
7.6 轮廓分析
7.7 直线检测
7.8 圆检测
7.9 最大内接圆与最小外接圆
7.10 轮廓匹配
7.11 最大轮廓与关键点编码
7.12 凸包检测
7.13 小结
第8章 形态学分析
8.1 图像形态学概述
8.2 腐蚀与膨胀
8.3 开闭操作
8.4 形态学梯度
8.5 顶帽与黑帽
8.6 击中击不中
8.7 结构元素
8.8 距离变换
8.9 分水岭变换
8.10 小结
第9章 特征提取
9.1 图像金字塔
9.1.1 高斯金字塔
9.1.2拉普拉斯金字塔
9.1.3 金字塔融合
9.2 Harris角点检测
9.3 shi-tomas角点检测
9.4 亚像素级别角点检测
9.5 HOG特征与使用
9.5.1. HOG特征描述
9.5.2 基于HOG特征的行人检测
9.6 ORB特征描述子
9.6.1. 关键点与描述子提取
9.6.2 描述子匹配
9.7 基于特征的对象检测
9.7.1. 单应性变换
9.7.2 对象检测
9.8 小结
第10章 视频分析
10.1 基于颜色的对象跟踪
10.2 视频背景分析
10.3 帧差法背景析
10.4 稀疏光流分析
10.5 稠密光流分析
10.6 均值迁移分析
10.7 小结
第11章 机器学习
11.1 KMeans
11.1.1 KMeans图像分割
11.1.2 KMeans 提取图像色卡
11.2 KNN分类
11.3 SVM分类
11.4 HOG+SVM自定义对象检测
11.5 小结
第三部分 高级与实战
第12章 深度神经网络
12.1 DNN概述
12.2 图像分类
12.3 对象检测
12.3.1 SSD对象检测
12.3.2 Faster-RCNN对象检测
12.3.3 YOLO对象检测
12.4 ENet图像分割
12.5 风格迁移
12.6 场景文字检测
12.7 人脸检测
12.8 小结
第13章YOLOv5自定义对象检测
13.1 YOLOv5下载与安装
13.2 预训练YOLOv5模型对象检测
13.3 自定义对象检测
13.3.1 OID数据集下载与制作
13.3.2 配置文件修改与训练
13.3.3 部署自定义对象检测模型
13.4小结
第14章 缺陷检测
14.1 简单背景下的缺陷检测
14.1.1 问题描述
14.1.2 二值分析
14.1.3 缺陷分析
14.2 复杂背景下的缺陷检测
14.2.1 频率域增强的缺陷检测
14.2.2 空间域增强的缺陷检测
14.2.3 小结
14.3 案例-刀片缺陷检测
14.4 基于深度学习的缺陷检测
14.4.1 基于分类的缺陷检测
14.4.2 基于UNet的缺陷检测
14.5 小结
第15章 OpenVINO加速支持
15.1 OpenVINO框架安装与环境配置
15.1.1 OpenVINO安装
15.1.2 配置C++开发支持
15.2 OpenVINO2022.x版SDK推理演示
15.2.1 推理SDK介绍
15.2.2 推理SDK演示
15.3 OpenVINO支持UNet部署
15.4 OpenVINO支持YOLOv5部署
15.5 小结
第16章CUDA加速支持
16.1 OpenCV CUDA版本编译
16.2 CUDA加速传统图像处理
16.2.1 Mat与UMat的相互转换
16.2.2 CUDA加速版本的视频背景分析
16.3 CUDA加速OpenCV DNN
16.4 小结
书中全部源代码已经基于OpenCV4.8 + VS2017调试通过。
《OpenCV应用开发:入门、进阶与工程化实践》
答疑与服务
全书共计16个章节,重点聚焦OpenCV开发常用模块详解与工程化开发实践,提升OpenCV应用开发能力,助力读者成为OpenCV开发者,同时包含深度学习模型训练与部署加速等知识,帮助OpenCV开发者进一步拓展技能地图,满足工业项目落地所需技能提升。
https://item.jd.com/10092255924058.html
标签:Mat,对象,检测,图像,OpenCV,博主,工程化,小结
From: https://blog.51cto.com/gloomyfish/8843531