𝔖 Scriptorium
✦   LIBER   ✦

📁

OpenCV算法精解:基于Python与C++

✍ Scribed by 张平


Publisher
电子工业出版社
Year
2017
Tongue
Chinese
Leaves
418
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


《OpenCV算法精解:基于Python与C++》是以OpenCV 为工具学习数字图像处理的入门书。内容由浅入深,每一章都采用阐述基本概念、数学原理、C++ 实现、Python 实现相结合的方法,使初学者循序渐进地掌握数字图像处理技术。本书既注重基本的概念理论及数学原理,也注重其代码实现及实际应用,力求帮助读者全面系统地掌握图像算法的基本技术,同时为掌握OpenCV 打下良好的基础。

《OpenCV算法精解:基于Python与C++》适合入门图像处理和计算机视觉领域的初学者阅读,要求读者具备一定的C++ 或Python 编程基础。

✦ Table of Contents


扉页
版权页
前言
目录
1 OpenCV入门
1.1 初识OpenCV
1.1.1 OpenCV的模块简介
1.1.2 OpenCV 2.4.13与3.2版本的区别
1.2 部署OpenCV
1.2.1 在Visual Studio 2015中 配置OpenCV
1.2.2 OpenCV 2.X C++ API的第一个示例
1.2.3 OpenCV 3.X C++ API的第一个示例
1.2.4 在Anaconda 2中配置OpenCV
1.2.5 OpenCV 2.X Python API的第一个示例
1.2.6 OpenCV 3.X Python API的第一个示例
2 图像数字化
2.1 认识Numpy中的ndarray
2.1.1 构造ndarray对象
2.1.2 访问ndarray中的值
2.2 认识OpenCV中的Mat类
2.2.1 初识Mat
2.2.2 构造单通道Mat对象
2.2.3 获得单通道Mat的基本信息
2.2.4 访问单通道Mat对象中的值
2.2.5 向量类Vec
2.2.6 构造多通道Mat对象
2.2.7 访问多通道Mat对象中的值
2.2.8 获得Mat中某一区域的值
2.3 矩阵的运算
2.3.1 加法运算
2.3.2 减法运算
2.3.3 点乘运算
2.3.4 点除运算
2.3.5 乘法运算
2.3.6 其他运算
2.4 灰度图像数字化
2.4.1 概述
2.4.2 将灰度图像转换为Mat
2.4.3 将灰度图转换为ndarray
2.5 彩色图像数字化
2.5.1 将RGB彩色图像转换为多通道Mat
2.5.2 将RGB彩色图转换为三维的ndarray
2.6 参考文献
3 几何变换
3.1 仿射变换
3.1.1 平移
3.1.2 放大和缩小
3.1.3 旋转
3.1.4 计算仿射矩阵
3.1.5 插值算法
3.1.6 Python实现
3.1.7 C++实现
3.1.8 旋转函数rotate(OpenCV3.X新特性)
3.2 投影变换
3.2.1 原理详解
3.2.2 Python实现
3.2.3 C++实现
3.3 极坐标变换
3.3.1 原理详解
3.3.2 Python实现
3.3.3 C++实现
3.3.4 线性极坐标函数linearPolar(OpenCV 3.X新特性)
3.3.5 对数极坐标函数logPolar(OpenCV 3.X新特性)
3.4 参考文献
4 对比度增强
4.1 灰度直方图
4.1.1 什么是灰度直方图
4.1.2 Python及C++实现
4.2 线性变换
4.2.1 原理详解
4.2.2 Python实现
4.2.3 C++实现
4.3 直方图正规化
4.3.1 原理详解
4.3.2 Python实现
4.3.3 C++实现
4.3.4 正规化函数normalize
4.4 伽马变换
4.4.1 原理详解
4.4.2 Python实现
4.4.3 C++实现
4.5 全局直方图均衡化
4.5.1 原理详解
4.5.2 Python实现
4.5.3 C++实现
4.6 限制对比度的自适应直方图均衡化
4.6.1 原理详解
4.6.2 代码实现
4.7 参考文献
5 图像平滑
5.1 二维离散卷积
5.1.1 卷积定义及矩阵形式
5.1.2 可分离卷积核
5.1.3 离散卷积的性质
5.2 高斯平滑
5.2.1 高斯卷积核的构建及分离性
5.2.2 高斯卷积核的二项式近似
5.2.3 Python实现
5.2.4 C++实现
5.3 均值平滑
5.3.1 均值卷积核的构建及分离性
5.3.2 快速均值平滑
5.3.3 Python实现
5.3.4 C++实现
5.4 中值平滑
5.4.1 原理详解
5.4.2 Python实现
5.4.3 C++实现
5.5 双边滤波
5.5.1 原理详解
5.5.2 Python实现
5.5.3 C++实现
5.6 联合双边滤波
5.6.1 原理详解
5.6.2 Python实现
5.6.3 C++实现
5.7 导向滤波
5.7.1 原理详解
5.7.2 Python实现
5.7.3 快速导向滤波
5.7.4 C++实现
5.8 参考文献
6 阈值分割
6.1 方法概述
6.1.1 全局阈值分割
6.1.2 阈值函数threshold(OpenCV3.X新特性)
6.1.3 局部阈值分割
6.2 直方图技术法
6.2.1 原理详解
6.2.2 Python实现
6.2.3 C++实现
6.3 熵算法
6.3.1 原理详解
6.3.2 代码实现
6.4 Otsu阈值处理
6.4.1 原理详解
6.4.2 Python实现
6.4.3 C++实现
6.5 自适应阈值
6.5.1 原理详解
6.5.2 Python实现
6.5.3 C++实现
6.6 二值图的逻辑运算
6.6.1 “与”和“或”运算
6.6.2 Python实现
6.6.3 C++实现
6.7 参考文献
7 形态学处理
7.1 腐蚀
7.1.1 原理详解
7.1.2 实现代码及效果
7.2 膨胀
7.2.1 原理详解
7.2.2 Python实现
7.2.3 C++实现
7.3 开运算和闭运算
7.3.1 原理详解
7.3.2 Python实现
7.4 其他形态学处理操作
7.4.1 顶帽变换和底帽变换
7.4.2 形态学梯度
7.4.3 C++实现
8 边缘检测
8.1 Roberts算子
8.1.1 原理详解
8.1.2 Python实现
8.1.3 C++实现
8.2 Prewitt边缘检测
8.2.1 Prewitt算子及分离性
8.2.2 Python实现
8.2.3 C++实现
8.3 Sobel边缘检测
8.3.1 Sobel算子及分离性
8.3.2 构建高阶的Sobel算子
8.3.3 Python实现
8.3.4 C++实现
8.4 Scharr算子
8.4.1 原理详解
8.4.2 Python实现
8.4.3 C++实现
8.5 Kirsch算子和Robinson算子
8.5.1 原理详解
8.5.2 代码实现及效果
8.6 Canny边缘检测
8.6.1 原理详解
8.6.2 Python实现
8.6.3 C++实现
8.7 Laplacian算子
8.7.1 原理详解
8.7.2 Python实现
8.7.3 C++实现
8.8 高斯拉普拉斯(LoG)边缘检测
8.8.1 原理详解
8.8.2 Python实现
8.8.3 C++实现
8.9 高斯差分(DoG)边缘检测
8.9.1 高斯拉普拉斯与高斯差分的关系
8.9.2 Python实现
8.9.3 C++实现
8.10 Marr-Hildreth边缘检测
8.10.1 算法步骤详解
8.10.2 Pyton实现
8.10.3 C++实现
8.11 参考文献
9 几何形状的检测和拟合
9.1 点集的最小外包
9.1.1 最小外包旋转矩形
9.1.2 旋转矩形的4个顶点(OpenCV 3.X新特性)
9.1.3 最小外包圆
9.1.4 最小外包直立矩形(OpenCV 3.X新特性)
9.1.5 最小凸包
9.1.6 最小外包三角形( OpenCV 3.X新特性)
9.2 霍夫直线检测
9.2.1 原理详解
9.2.2 Python实现
9.2.3 C++实现
9.3 霍夫圆检测
9.3.1 标准霍夫圆检测
9.3.2 Python实现
9.3.3 基于梯度的霍夫圆检测
9.3.4 基于梯度的霍夫圆检测函数HoughCircles
9.4 轮廓
9.4.1 查找、绘制轮廓
9.4.2 外包、拟合轮廓
9.4.3 轮廓的周长和面积
9.4.4 点和轮廓的位置关系
9.4.5 轮廓的凸包缺陷
9.5 参考文献
10 傅里叶变换
10.1 二维离散的傅里叶(逆)变换
10.1.1 数学理解篇
10.1.2 快速傅里叶变换
10.1.3 C++实现
10.1.4 Python实现
10.2 傅里叶幅度谱与相位谱
10.2.1 基础知识
10.2.2 Python实现
10.2.3 C++实现
10.3 谱残差显著性检测
10.3.1 原理详解
10.3.2 Python实现
10.3.3 C++实现
10.4 卷积与傅里叶变换的关系
10.4.1 卷积定理
10.4.2 Python实现
10.5 通过快速傅里叶变换计算卷积
10.5.1 步骤详解
10.5.2 Python实现
10.5.3 C++实现
10.6 参考文献
11 频率域滤波
11.1 概述及原理详解
11.2 低通滤波和高通滤波
11.2.1 三种常用的低通滤波器
11.2.2 低通滤波的C++实现
11.2.3 低通滤波的Python实现
11.2.4 三种常用的高通滤波器
11.3 带通和带阻滤波
11.3.1 三种常用的带通滤波器
11.3.2 三种常用的带阻滤波器
11.4 自定义滤波器
11.4.1 原理详解
11.4.2 C++实现
11.5 同态滤波
11.5.1 原理详解
11.5.2 Python实现
11.6 参考文献
12 色彩空间
12.1 常见的色彩空间
12.1.1 RGB色彩空间
12.1.2 HSV色彩空间
12.1.3 HLS色彩空间
12.2 调整彩色图像的饱和度和亮度
12.2.1 Python实现
12.2.2 C++实现


📜 SIMILAR VOLUMES


算法精解: C语言描述
✍ Kyle Loudon 📂 Library 📅 2012 🏛 机械工业出版社 🌐 Chinese

<p>本书是数据结构和算法领域的经典之作,十余年来,畅销不衰!全书共分为三部分:第一部分首先介绍了数据结构和算法的概念,以及使用它们的原因和意义,然后讲解了数据结构和算法中最常用的技术——指针和递归,最后还介绍了算法的分析方法,旨在为读者学习这本书打下坚实的基础;第二部分对链表、栈、队列、集合、哈希表、堆、图等常用数据结构进行了深入阐述;第三部分对排序、搜索数值计算、数据压缩、数据加密、图算法、几何算法等经典算法进行了精辟的分析和讲解。</p> <p>本书的众多特色使得它在同类书中独树一帜:具体实现都采用正式的C语言代码而不是伪代码,在很多数据结构和算法的实现过程中,有大量细节问题是伪代码不

数字图像密码算法详解——基于C、C#与MATLAB
✍ 张勇 📂 Library 📅 2019 🏛 清华大学出版社 🌐 Chinese

系统地研究了新型数字图像密码系统及其安全性能分析,阐述了基于DES与AES的图像密码算法和基于混沌系统的明文关联图像密码算法的MATLAB和C#语言实现技术及其安全性能。深入探讨了DES和AES算法实现及其数字图像加密应用技术;从加密/解密速度、密钥空间、信息熵、统计特性和敏感性分析等方面研究了图像密码系统的性能分析方法;阐述了明文关联的图像密码系统的实现算法与性能分析;讨论了加密算法与解密算法相同的统一图像密码系统的设计方法与性能分析;诠释了融合公钥与私钥的数字图像密码算法及其性能评价体系。

机器学习经典算法剖析: 基于OpenCV
✍ 赵春江 📂 Library 📅 2018 🏛 人民邮电出版社 🌐 Chinese

<p>机器学习是一种自动分析所构建模型的数据分析方法。通过迭代地从数据中不断学习,机器学习可以使计算机找到一些隐含的信息量,而这些信息量是无法明确通过编程得到的。</p> <p>本书以OpenCV 2.4.9为研究工具,对算法—正态贝叶斯分类器、K近邻算法、支持向量机、决策树、AdaBoost、梯度提升树、随机森林、期望极大值、神经网络,不仅具体分析了它们的原理和实现方法,还进行了详细的源码解析,并且给出了基于OpenCV的程序实现范例,充分体现了理论与实践相结合的特点。</p>

OpenCV实例精解: OpenCV By Example
✍ 普拉蒂克·乔希; 大卫·米兰·埃斯克里瓦; 维尼修斯·戈多伊 📂 Library 📅 2016 🏛 机械工业出版社 🌐 Chinese

<p>OpenCV是一个开源的计算机视觉库,在计算机视觉的开发中扮演着重要的角色。它为计算机视觉应用开发提供了灵活、功能强大的开发接口,使其成为计算机视觉专业人员所依赖的重要开发工具。</p> <p>本书首先介绍计算机视觉中的各个领域和在C++中相关的OpenCV功能。每个章节都包含真实世界的例子和示例代码,可以帮助你轻松地掌握主题,并了解它们在现实生活中的应用。全书自始至终都在力争使用简洁的语言、清晰的格式以及实践性很强的示例项目来教你如何在C++中使用OpenCV,并建立各种应用程序。</p> <p>无论你是对计算机视觉一无所知,还是对此已有基本的了解,本书都将通过一些真实世界的例子和

新求精德语强化教程 中级语法精解与练习: 中级语法精解与练习
✍ 杨建培 📂 Library 📅 2012 🏛 Tongji University Press 🌐 Chinese

<p>《新求精德语强化教程:中级语法精解与练习》系统阐述了德语语法中的第一虚拟式、es的用法、第一分词和第二分词、功能动词结构、名词化、动词化、从句名词化、被动态的替代形式、将来时表达猜测的用法、情态动词的客观用法和主观用法等。</p>