《数字图像处理-OpenCV/Python》连载(1)前言
本书京东优惠购书链接:https://item.jd.com/14098452.html
写作背景
编写本书的初衷,源自作者学习数字图像处理的经历。
在创新实验班开设的专业创新教育课程中,我选择的是数字图像处理方向。老师向我推荐的教材是冈萨雷斯的《数字图像处理》。学习的开始阶段非常困难。教材的开篇是绪论和数学工具,我看的似懂非懂,似乎还不涉及编程。接下来的章节是灰度变换、空间滤波和频域滤波,涉及的内容丰富,方法繁多,自己试着编了几个程序就搞不下去了。
老师又推荐了OpenCV软件包,告诉我这是最流行的计算机视觉软件库,实现和封装了图像处理的方面的各种通用算法。我赶快安装OpenCV,又找了几本学习教程,顺利运行了第一个例程。但是,接下来面对着每个模块中几十个算法函数的讲解,我又觉得头都大了。而且,即便这些算法函数既有说明又有例程,但还是知其然不知其所以然,并不能真正理解和掌握。于是,对于OpenCV的学习也面临着半途而废。
这一定是我太菜了。于是回过头来,还是老老实实按照数字图像处理的知识体系,使用OpenCV对课程中的问题逐一编程实现。我在CSDN网站开设了博客专栏【youcans的OpenCV例程】,把学习OpenCV数字图像处理的笔记整理为博客发布,迄今已经发布了260多篇。通过学习,我深深体会到:(1)学习数字图像处理,一定离不开编程实践,否则连纸上谈兵都谈不下去。(2)学习OpenCV,还是要理解数字图像处理的知识体系,否则只是知其然不知其所以然,开始很快乐,但是越往后就越糊涂,甚至不明白在干什么。
我觉得数字图像处理与OpenCV就像左右手一样,是相辅相成、互为表里的。但是,在我查阅的十几种数字图像处理的教材和OpenCV的书籍中,我却发现这似乎是两个门派,是自成体系、泾渭分明的。鲜有图书能将其融为一体,让我这样的菜鸟能轻松入门,快速进阶。于是,我决心自己写一本书,作为学习数字图像处理与OpenCV的桥梁。
本书适合学习数字图像处理课程的同学,本书不仅可以作为课程参考资料,也会让你轻松入门OpenCV。本书也适合OpenCV软件的初学者,本书比官方文档例程更加容易和方便,还会让你对数字图像处理的理解更加深入。对于OpenCV有一定基础的读者,也完全可以把本书作为OpenCV的常用函数手册,在需要时查阅。
本书特色
(1)实例丰富,注释详细。
本书包括约180个OpenCV例程,并编制了例程索引。这些例程不仅比较全面地覆盖了OpenCV的基本功能,而且系统地介绍了数字图像处理课程内容。所有的例程尽量选择简单清晰的方法实现,并进行了详细的注释,便于读者理解和修改。
(2)循序渐进,编排合理。
本书结构与同类图书不同,是以数字图像处理知识体系为主线,而不是按照OpenCV模块来编排,可以更好地体现问题导向和需求导向,也便于读者对照教材学习使用。本书的所有章节内容独立成篇,每个例程都是独立程序,避免相互调用,避免使用尚未讲到的函数或内容,方便读者学习和使用。
(3)函数手册,即学即用。
本书介绍了约200个常用的OpenCV函数,并编制了函数索引。
需要指出的是,由于OpenCV是以C/C++语言开发的,Python语言中的某些接口定义较为特殊,此外,OpenCV是开放和发展的,不同版本和模块之间的设计规范并不完全统一。这两方面的问题,经常让初学者十分困惑,遇到程序报错也无从下手。
与官方文档和现有图书不同的是,作者对OpenCV函数进行了大量测试,在本书中着重讲解了函数中参数的格式要求和注意事项,并结合例程帮助读者理解每个函数的特殊规定。
主要内容
本书基于OpenCV-Python软件,介绍数字图像处理的基本方法和高级应用。全书共18章,可以分为四个部分。
第一部分是OpenCV基本操作,包括第1~4章。
- 第1章介绍图像文件的读取、保存和显示方法。
- 第2章介绍图像的数据结构,学习图像的创建、复制、修改、裁剪、拆分、合并等基本方法。
- 第3章介绍彩色图像的基本知识。
- 第4章介绍绘图与鼠标交互操作方法。
第二部分是图像处理基本方法,包括第5~9章。
- 第5章介绍图像的算术运算,学习加减乘除和位运算。
- 第6章介绍图像的几何变换,包括仿射变换、投影变换和重映射方法。
- 第7章介绍图像的灰度变换技术,调节图像的动态范围和对比度。
- 第8章介绍直方图处理技术,通过调控直方图改善图像质量。
- 第9章介绍图像的阈值处理方法。
第三部分是图像处理高级方法,包括第10~13章。
- 第10章介绍图像卷积与空间滤波,实现图像模糊和图像锐化。
- 第11章介绍傅里叶变换与频域滤波,设计更加丰富的滤波器。
- 第12章介绍形态学图像处理的基本操作、常用算法和典型应用。
- 第13章介绍坐标变换、霍夫变换、雷登变换,图像重建和退化图像复原。
第四部分是计算机视觉,包括第14~18章。
- 第14章介绍边缘检测与图像轮廓。
- 第15章介绍图像分割技术,包括分水岭算法、图割算法和运动图像分割。
- 第16章介绍特征描述方法,包括目标边界描述、区域特征描述及关键点描述符。
- 第17章介绍特征检测与特征匹配,包括Harris、SIFT、SURF、FAST、ORB、MSER算法。
- 第18章介绍机器学习方法,包括主成分分析、k均值聚类、k近邻算法、贝叶斯分类、支持向量机和人工神经网络。
建议和反馈
正如在本书背景中所介绍的,我只是数字图像处理的初学者。尽管得到了很多老师的指导和帮助,我也为写好本书付出了很大努力,但由于能力和学识所限,书中肯定会存在很多漏洞和瑕疵。欢迎读者提出宝贵意见,以便改进和提高。如果你对本书有任何评论和建议,或者遇到问题需要帮助,可以到博客专栏【youcans的OpenCV例程】留言进行交流,也可以致信作者邮箱youcans@qq.com或本书编辑邮箱zhangshuang@ptpress.com.cn,我将不胜感激。
致谢
感谢我的老师王富平副教授,他是我学习数字图像处理的启蒙老师,总是耐心地回答我的每一个菜鸟问题。感谢OpenCV中国团队于仕琪老师,他不仅给予了宝贵的技术指导,还建议和鼓励我出版本书。感谢CSDN网站和邹欣老师、范飞龙老师,一直给我支持和鼓励。感谢博文视点的张爽老师,我要写一篇文章来记录我和本书的成长历程,才能表达我的感激。
最需要感谢的是CSDN的读者,对我的博客专栏提出了很多批评和建议,你们的陪伴和支持是我写完本书的动力。
本书京东优惠购书链接:https://item.jd.com/14098452.html
版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/132435636)
Copyright 2023 youcans, XUPT
Crated:2023-08-22
欢迎关注专栏: 《数字图像处理-OpenCV/Python》连载