《OpenCV 4计算机视觉项目实战 》 —1 OpenCV入门

举报
华章计算机 发表于 2019/11/09 22:40:14 2019/11/09
【摘要】 本节书摘来自华章计算机《OpenCV 4计算机视觉项目实战》 一书中第一章,第1.1节,作者[西班牙]大卫·米兰·埃斯克里瓦(David Millán Escrivá)[西班牙]维尼休斯·G.门东萨(Vinícius G. Mendon。

第1章

OpenCV入门

计算机视觉应用程序很有趣,而且很有用,但是其底层算法是计算密集型的。随着云计算的出现,我们正在获得更强大的处理能力。

OpenCV库使我们能够实时高效地运行计算机视觉算法。它已经存在很多年了,并已成为该领域的标准库。OpenCV的主要优势之一是它经过高度优化,几乎可以在所有平台上使用。

本书将介绍我们要用到的各种算法和使用它们的原因,以及如何在OpenCV中实现它们。

在本章中,我们将学习如何在各种操作系统上安装OpenCV。我们将讨论OpenCV提供的开箱即用的服务,以及使用内置函数可以做的各种事情。

本章介绍以下主题:

人类如何处理视觉数据,如何理解图像内容?

我们能用OpenCV做什么,OpenCV中可以用于实现这些目标的各种模块是什么?

我们如何在Windows、Linux和Mac OS X上安装OpenCV?

1.1 了解人类视觉系统

在进入OpenCV的功能之前,首先需要了解为什么要构建这些功能。了解人类视觉系统的工作原理是非常重要的,这样你就可以开发出正确的算法。

计算机视觉算法的目标是理解图像和视频的内容,对此,人类似乎毫不费力!那么,我们如何才能让机器以相同的精度做到这一点呢?

请看图1-1。

 image.png

 

图 1-1

人眼可以捕获视野内的所有信息,例如颜色、形状、亮度等。如图1-1所示,人眼捕获到关于两个主要对象的所有信息,并以某种方式将其存储起来。如果能知道人眼系统是如何工作的,我们就可以利用它来实现我们的目的。

例如,以下是我们需要知道的一些事情:

我们的视觉系统对低频内容比高频内容更敏感。低频内容是指像素值不会快速变化的平面区域,高频内容是指具有角和边缘的区域,其像素值波动很大。我们可以很容易地看到平面上是否有斑点,但很难在高度纹理化的表面发现类似的东西。

人眼对亮度的变化比对颜色的变化更敏感。

我们的视觉系统对运动很敏感。即使没有直接看到,我们也能很快识别出视野中是否有某些东西正在移动。

我们倾向于在脑海中记下视野中的特征点。假设你看到一张白色的桌子,它有四条黑色的桌腿,桌面的一角有一个红点。当你看着这张桌子时,你会立刻记下表面和桌腿有相反的颜色,并且其中一个角上有一个红点。我们的大脑非常聪明!我们自动执行此操作,这样,当再次遇到该对象时,就能够立即识别出它。

为了认识人类的视觉,让我们来看一张俯视图,以及我们看各种事物的角度,如图1-2所示。

我们的视觉系统实际上还可以提供更多功能,但这应该足够了。你可以通过在网上阅读人类视觉系统(HVS)模型来做进一步探索。

 image.png

图 1-2


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。