书名:计算机视觉40例从入门到深度学习:OpenCV-Python
作者:李立宗
出版社:电子工业出版社
出版时间:2022-07-01
ISBN:9787121436857
一、抽象
在生活中,抽象工具是广泛存在的。
例如,键盘就是一个抽象工具,它封装了所有功能,帮我们屏蔽了所有无关细节。在使用键盘时,我们无须关注键盘的内部结构,也无须关注其内部涉及的物理、电路等相关知识,更无须关注其使用的相关算法原理。我们只需要知道按下一个键,显示器上就会输出该操作的执行结果。这样的设计,让我们在打字时,能够专注于将键盘作为输入工具使用,极大地提高了工作效率。键盘的抽象层次结构如图所示。实际上,生活中的很多工具都有类似的结构。通常情况下,每一层的用户只需要关心本层的知识,无须过度关注其下一层知识。
键盘的抽象层次结构
二、现代编程的核心
现代编程的核心是“抽象”,类似于键盘、Photoshop的设计,会把要实现的某些非常复杂的功能封装起来,构成函数。
在实现相应功能时,只需要调用函数就可以了,不需要再把程序从头到尾写一遍。预先写好的函数集合叫作“库”(模块、包)。开发者开发了各种各样的库,并提供给我们免费使用,这大幅提高了我们的工作效率。
图像处理领域有非常多的高质量库。其中,OpenCV的影响力最大、应用最广。OpenCV提供了机器学习模块用以实现机器学习功能,提供了DNN(Deep Neural Networks,深度神经网络)模块用以实现深度学习功能。
在人脸识别领域中,可以借助dlib库中关于人脸识别的部分实现易容术、驾驶员疲劳检测、面部表情识别、性别和年龄识别等。