#### 本节书摘来自华章出版社《Arduino计算机视觉编程》一书中的第1章,第1.1节,作者[土耳其] 欧森·奥兹卡亚(zen zkaya),吉拉伊·伊利茨(Giray Yilliki),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
第1章
计算机视觉系统综述
在本章中,你将会了解计算机视觉系统的基础概念和整体框架。这样当解决计算机视觉问题的时候,你将有一个更广阔的视野。
1.1 计算机视觉系统介绍
我们用五种感官(触觉、味觉、嗅觉、听觉和视觉)来观察周围的一切。尽管这五种感官都非常重要,但是有一种感官对于感知有最大的影响。毫无疑问,它就是视觉,这也是本书的主题。
当看到一个场景时,我们能在一个有意义的上下文中理解和解释看到的细节。这看起来很容易,但其实这是一个非常复杂难以建模的过程。是什么让人类的眼睛容易理解视觉而机器难以理解?答案隐藏于人类和机器在感知上的区别。许多研究人员正在试图揭示这个区别。
在计算机视觉发展的道路上,照相机的发明是其中最重要的一个里程碑。尽管照相机是一个保存场景视觉记忆的很好的工具,但是它导致了很多变化,而不仅仅是保存场景。与相机的发明一样,人们总是试图开发设备来让我们的生活更加美好。当前的趋势是开发智能设备,知晓周边的环境肯定是其中重要的一环。这和我们的日常生活体验或多或少是相同的,视觉是最大的影响因素。多亏了科技的发展,使得模拟人类的视觉系统是可能的并且已经在各种各样的设备上实现了。在这个过程中,我们有能力开发可视化设备。
图片和时间序列的图片被称为视频,换句话说就是真实世界的机器表示。任何可视化设备都是通过图片来重建真实的场景。因为通过设备从图片提取解释和隐藏的信息非常复杂,通常使用计算机来达到目的。计算机视觉这个词就是来自让机器用人类的方式理解真实世界的现代方法。由于计算机视觉对机器的自动化日常工作十分必要,因此它的发展非常迅速,并且大量的框架、工具和库已经被开发出来。
OpenCV(Open Source Computer Vision Library)的出现对于计算机视觉来说是一个非常大的改变,并且很多人都对它有贡献以便让它变得更好。现在它是一个成熟的库,提供了最先进的设计模块,在后面的章节我们会接触到。因为它是一个易于使用的库,不需要为了完成视觉计算任务而去搞清楚底层到底发生了哪些复杂计算。这种易用性让那些复杂的任务更容易完成,但是即便是这样,你也应该知道如何在解决问题和使用设计工具中找到平衡。