基本信息
书名:OpenCV算法精解:基于Python与C++
定价:79.00元
作者:张平著
出版社:电子工业出版社
出版日期:2017-10-01
ISBN:9787121324956
字数:
页码:
版次:1
装帧:平装-胶订
开本:16开
商品重量:0.4kg
编辑推荐
Python与C 双实现,助力读者轻松驾驭OpenCV算法,夯实计算机视觉领域基础知识!
基本概念理论 数学原理
详细介绍OpenCV实现对应的函数
注重代码实现(分别给出Python和C 实现)及实际应用
内容提要
开篇先介绍如何在Windows和ubuntu上部署OpenCV,然后过度到核心章节,从灰度图像、彩色图像、图像平滑、边缘检测、霍夫变换等几个维度入手讲解,尽量拆分算法,代码实现用C 和Python代码。案例在每章*后分享,方便读者练习。
目录
目录
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 实现
作者介绍
张平,数学与应用数学专业,算法工程师。主要从事图像算法研究和产品的应用开发,此外还从事有关机器学习、数据挖掘算法的应用研发工作。
文摘
序言
这本书简直就是我的“救星”!最近为了完成一个毕业设计,需要用到很多OpenCV的图像识别技术,之前看的一些教程都感觉太碎片化了,有些地方讲得模棱两可,搞得我一头雾水。偶然间发现了《OpenCV算法精解》这本书,一开始没抱太大希望,没想到,它真的给我打开了一扇新世界的大门。 书中对每一个算法的讲解都非常详细,而且逻辑清晰,一步步地引导我理解算法的原理。我尤其喜欢它在讲解过程中,会穿插很多实际应用的例子,让我能更直观地感受到算法的作用。比如,在讲到SIFT特征点匹配的时候,它不仅详细解释了算法的原理,还通过实际的图像对比,展示了SIFT在各种复杂场景下的鲁棒性。这比单纯地背诵公式要有效得多。 更让我惊喜的是,这本书提供的代码示例非常实用,而且我真的可以拿来直接运行,调试,然后修改。感觉像是拥有了一个私人教练,随时指导我完成每一个步骤。以前我总是卡在代码实现上,现在有了这本书,我可以更专注于算法的理解和应用。总的来说,这本书的质量真的超出了我的预期,非常适合我这种想要深入理解OpenCV算法的同学。
评分说实话,一本算法类的书籍,我一直抱着“能看懂就不错了”的心态。但《OpenCV算法精解》这本书,却让我意外地找到了“乐趣”。它的叙述方式不像是那种枯燥的教科书,而是更像一位经验丰富的老师,循循善诱,把复杂的概念讲得既清晰又有趣。我个人对数学不是特别敏感,但这本书里的公式推导,居然能让我看懂,甚至觉得颇有启发。 最让我惊喜的是,它不仅仅停留在理论层面,而是把每一个算法都放在了实际的应用场景中去讲解。比如,在讲到特征点检测的时候,它会结合实际的图像,展示不同算法在不同光照、旋转、缩放条件下的表现差异。这种“眼见为实”的学习方式,让我对算法的理解更加深刻,也让我明白了为什么在实际项目中,同一个问题会有多种不同的解决方案。 而且,书中附带的代码,真的是太有帮助了。我可以直接拿来运行,看看效果,再一点点修改参数,去体会不同参数对结果的影响。这种“动手实践”的过程,比单纯地看书要高效得多。我感觉自己不再是那个只知道OpenCV有这个函数,但不知道它为什么这样工作的“小白”了。这本书让我觉得,学习OpenCV算法,其实可以是一件很有成就感的事情。
评分这本书简直是为我量身定做的!最近在捣鼓一些计算机视觉的项目,涉及到图像处理和特征提取,之前看的一些资料总是零散且难以深入。偶然间发现了这本《OpenCV算法精解》,一开始抱着试试看的心态,没想到内容之详实、讲解之透彻,简直让我欣喜若狂。从最基础的图像几何变换,到复杂的边缘检测、特征点匹配,再到深度学习在OpenCV中的应用,作者张平老师都做了非常细致的阐述。 尤其令我印象深刻的是,书中对于每个算法的推导过程都进行了详细的讲解,并辅以清晰的数学公式和直观的图示,这对于我这种需要理解算法底层原理才能更好地应用的人来说,简直是福音。不仅仅是理论,书中还提供了大量的Python和C++代码示例,我可以直接复制代码并进行修改和调试,这极大地提高了我的学习效率。以往看书,往往是看完理论,然后自己费劲去实现,很容易出错,或者实现的效率不高。但这本书就解决了这个痛点,直接上手实践,边学边练,感觉知识点一下子就吸收进去了。 而且,这本书的排版和结构也非常合理,逻辑清晰,循序渐进。从入门到进阶,几乎涵盖了OpenCV的常用算法和技术。我特别喜欢的是它对算法的优劣势、适用场景的分析,这让我能够根据实际项目需求,选择最合适的算法,而不是盲目地套用。书中还提到了不少实用的技巧和注意事项,这些都是在实际开发中非常宝贵的经验。读完这本书,我感觉自己对OpenCV的理解上升了一个层次,也更有信心去 tackling 更复杂的计算机视觉任务了。
评分我必须得说,《OpenCV算法精解》这本书的出现,着实让我眼前一亮。作为一名长期在计算机视觉领域摸爬滚打的老兵,我一直苦于找不到一本能够系统性地梳理OpenCV核心算法的书籍。市面上不少书要么过于浅显,要么过于偏重某一特定领域,难以形成全面的认知。然而,张平老师的这本书,凭借其严谨的学术态度和深厚的实践经验,完美地填补了这一空白。 书中对每一个算法的讲解,都做到了“知其然,更知其所以然”。它不仅介绍了算法的实现细节,更深入地剖析了算法背后的数学原理和逻辑推理。这对于理解算法的本质、优化算法性能、甚至进行算法创新都至关重要。我尤其欣赏书中对各个算法在不同场景下的应用效果对比分析,这种“接地气”的讲解方式,让我能够更直观地感受到算法的威力,也更能体会到在实际项目中选择合适算法的重要性。 此外,书中对于Python和C++双语代码的呈现,也极大地满足了不同开发者的需求。我个人更偏爱C++在性能上的优势,但Python的便捷性也不容忽视。书中提供的代码示例,不仅可以直接运行,而且写得非常规范,注释也很详细,便于理解和修改。这使得理论知识能够迅速转化为实际的开发能力,大大缩短了从学习到应用的周期。总而言之,这本书是OpenCV学习者不可多得的宝藏,强烈推荐!
评分作为一个长年与图像打交道的研究人员,我深知一本高质量算法书籍的重要性。而《OpenCV算法精解》这本书,绝对是我近年来读到过的最值得推荐的一本。它并非那种泛泛而谈的入门读物,而是深入到OpenCV核心算法的每一个细节,并且给出了非常扎实的理论基础和实践指导。 书中对经典图像处理算法的讲解,逻辑严谨,层次分明。无论是基础的滤波、形态学操作,还是更高级的特征提取、目标检测,作者张平老师都力求将算法的原理、数学推导以及实现细节一一呈现。我特别喜欢它对每个算法优缺点的分析,以及在不同应用场景下的权衡考量。这对于我进行算法选型和优化,提供了宝贵的参考。 更值得称赞的是,本书的双语代码支持,使得不同语言背景的开发者都能从中获益。Python的简洁高效与C++的强大性能,在书中得到了完美的结合。我常常是将书中提供的代码作为起点,然后根据自己的项目需求进行修改和拓展,这种高效的学习和开发模式,极大地提升了我的工作效率。这本书不仅仅是一本工具书,更是一本能够启发思路、提升技术深度的案头必备。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有