视觉入门书籍介绍

工欲善其事,必先利其器。在学习任何东西的时候都应该手握一把利器,就像学习英语,人手一本“红宝书”一样,入门视觉领域,首先需要学习基础的图像处理的知识,而选择优质的书籍,可以使学习者节省很多时间。小白结合自己的学习经历,向大家推荐几本优质的入门书籍。

对于广大学生党来说,几乎都会听说过一款强大的软件——Matlab。这款软件可以说伴随了众多工科生的学习生涯的绝大部分时光,从学习线性代数开始,到后期的专业课,再到最后的毕业设计,到处可见Matlab的影子。该软件之所以在学生党中受到欢迎,主要有两个原因:

  1. 功能强大:该软件的仿真模型库庞大,上到卫星火箭、下到汽车轮船,中到大气变化,可以说数据量庞大且具有很高的真实性。软件中集成了很多工具包可以供学生们使用。

  2. 开发容易:编程语言简单,小白觉得和python语言有些相似。很多工具包提供开源代码,方便二次开发。提供simulink仿真界面,“拖拽式编程”用户体验良好。

这么一款强大的软件当然也提供了图像处理的函数和功能包。简单的编程语言,使得使用Matlab进行视觉学习可以节省学习者学习编程的时间。这里小白推荐冈萨雷斯编写的《数字图像处理(第三版)》。书中不仅介绍了很多关于图像组成的基础知识,也提供了很多代码历程,方便初学者在实践的时候借鉴。而且Matlab具有很好的数据可视化功能,图像以二维表格的形实展示出来,给初学者更加直观的认识。

Matlab虽然强大,但是也存在很多问题。小白曾经使用过Matlab进行图像超分辨率处理和拼接的任务,由于使用的图片比较大,导致往往运行一宿的程序才能完成小白想要的超分效果。小白怀疑是不是电脑的内存太小了,于是将电脑内存有8G换成了64G,结果还是很慢。后来发现Matlab对电脑的内存调用不是很好,大多数情况下指调用20%左右的内存,这就让小白很苦恼了,毕竟感觉再加大电脑内存好像有些浪费了。同时,由于Matlab使用的编程语言只在研发的过程中比较方便,使用在嵌入式系统中需要安装Matlab环境,这基本上是不可能的,于是小白便转战C语言领域。

使用C和C++语言来处理图像问题,就必须要介绍一个强大开源工具库OpenCV。小白使用过的OpenCV版本是2.4.9和3.1.0两个版本。这里小白也推荐使用这两个版本的OpenCV,尤其是针对Windows环境下进行开发的同学,小白推荐使用OpenCV 2.4.9和Visual Studio 2013结合使用。原因嘛,就是因为网上的资源比较多,可以学习的资料也多,对于入门和初学者来说绝对可以避免很多坑。如果还有别的需求,也可以使用更高级的版本。

针对OpenCV的学习,小白在这里也推荐两本书《学习OpenCV(中文版)》和《OpenCV3编程入门》。前者是针对OpenCV2编写,里面介绍了很多图像的基础知识和常用的基础函数,后面一本书是针对OpenCV3来编写的,也是一本优质参考书。

这里小白在额外推荐一本OpenCV3使用python实现的一本书。因为OpenCV3的一大亮点就是支持了python语言,因此学习该书可以在学习OpenCV的同时也可以强化一下自己的python编程能力。

最后,小白想说,随着时间的推移和技术的发展,无论哪一本书中的内容都会出现与实际的代码存在差异的情况。出现这种情况的时候,希望大家不要着急,首先认真检查自己是否存在代码错误,之后可以通过百度或者谷歌查看该函数是否已被更新,使用最新版本的函数。

如果您喜欢本文和本公众号,

希望您能推送给周围的好友。

一个赞就是对小白的一种支持

(0)

相关推荐