计算机视觉入门基础——计算机如何‘看’片

简介: 计算机视觉是人工智能时代的一项重要科学,也是无人驾驶技术的核心。学习计算机视觉首先必须要知道计算机是如何识别图像的,本文主要简述了计算机如何‘看’图片,相对于视频文件来说,道理是一样的。

更多深度文章,请关注:https://yq.aliyun.com/cloud


计算机视觉是一门研究如何使机器‘看’的科学,我们都喜欢看美丽的图像,但是你有没有想过计算机是如何看这些图像的?接下来,我会详细介绍说明计算机如何处理图像的。

2643b80a25f0e877131c9e9aed5e47d89e0328fa

看到上面的图像,一个正常的人可以很容易地知道,图像中有一只猫。但是,计算机可以真正看到猫吗?答案是否定的,计算机看到数字矩阵(0255之间)。一般来说,我们可以将图像分类为灰度图像或彩色图像。首先,我们先讨论灰度图像然后再讨论彩色。上图是灰度图像,图像中每个像素都表示的是像素的亮度,下面我们就说一说这个亮度问题。了解更多关于像素。让我们先来看看上面图片中计算机是怎么看的。

43d8623139eff58b12a66af29b03c932b46d5cd0

我已将上面的图像大小调整为18 * 18,以便于理解。与我们不同的是,计算机将图像看作2D矩阵。你可能听说有人说这幅画的大小是1800 * 7001300 * 700,这个大小显示了一个图像的宽度和高度。换句话说,如果大小为1300 * 700,则水平方向为1300像素,垂直方向为700像素。这意味着总共有9100001300 * 700)像素。如果图像的大小为700 * 500,那么矩阵的维数将为(700,500)。这里,矩阵中的每个元素(像素)表示该像素中的亮度强度这里,0表示黑色,255表示白色,数字越小,越接近黑色(数字大小决定黑的程度)。

彩色图像

在灰度图像中,每个像素表示仅一种颜色的强度。换句话说,它有一个通道。而在彩色图像中,我们有3个通道RGB(红,绿,蓝)。标准数码相机都有3RGB)通道。

95a78420f09b7ab6f76f0a7311447aaad83dc573 

如上图所示,彩色图像由红色、绿色和蓝色三个通道组成。现在的问题是,计算机如何看待这个形象?同样,答案是他们看到矩阵。现在下一个问题应该是,我们要如何在矩阵中表示这个图像,因为它有3个通道,与我们只有一个通道的灰度图像不同。在这种情况下,我们利用3D矩阵来实现表示彩色图像。我们有一个通道的矩阵,但在这种情况下,我们将有三个矩阵堆叠在一起,这就是为什么它是3D700 * 700彩色图像的尺寸将为(700,700,3)。假设第一个矩阵表示红色通道,则该矩阵的每个元素表示该像素中的红色强度,同样为绿色和蓝色。通常,彩色图像中的每个像素具有与其相关联的三个数字(0255)。这些数字表示该特定像素中的红色、绿色和蓝色的强度。至于为什么是红绿蓝这三色,想必大家都知道色度学的最基本原理,即三基色原理。大多数颜色都可以通过三色按照不同的比例混合产生。

结论

计算机将图像看作矩阵。灰度图像具有一个通道(灰色),因此我们可以在2D矩阵中表示灰度图像,其中每个元素表示该特定像素中亮度的强度。记住,0表示黑色,255表示白色。灰度图像有一个通道,而彩色图像有三个通道RGB(红、绿、蓝)。我们可以在深度为33D矩阵中表示彩色图像。

本文由阿里云云栖社区组织翻译。

文章原标题《How do computers see an image ?》,作者:Savan Visalpara

作者个人网站:https://savan77.github.io/,可以与作者交流。

译者:袁虎,审阅:李烽 阿福

文章为简译,更为详细的内容,请查看原文


相关文章
|
计算机视觉 C++
11.【openCV计算机视觉入门基础】
11.【openCV计算机视觉入门基础】
64 0
|
4月前
|
存储 机器学习/深度学习 编解码
计算机视觉的基础概念与入门
之前学习了一下 Python 环境下计算机视觉方面的一些应用(主要是 OpenCV),但是对于计算机视觉方面的种种概念都是一笔带过,计算机视觉是一个很大的领域,在深入它之前 ,有必要对其中的一些基础概念有一个宏观的理解。
|
5月前
|
机器学习/深度学习 算法 计算机视觉
计算机视觉是一门研究如何使计算机“看”的技术,其目标是让计算机能够像人类视觉一样理解和解释视觉信息。
计算机视觉是一门研究如何使计算机“看”的技术,其目标是让计算机能够像人类视觉一样理解和解释视觉信息。
|
6月前
|
机器学习/深度学习 算法 自动驾驶
计算机视觉入门
计算机视觉入门
|
6月前
|
机器学习/深度学习 编解码 自动驾驶
【热门话题】计算机视觉入门:探索数字世界中的“视觉智能”
# 计算机视觉入门:探索数字世界中的“视觉智能” 本文为初学者提供计算机视觉入门指南,涵盖基础概念(像素、图像分辨率等)、关键技术(图像预处理、特征提取等)、典型应用(安防、自动驾驶等)及学习路径建议。通过理论学习与实践,了解这一赋予机器“看”能力的领域,开启视觉智能之旅。
51 4
|
监控 自动驾驶 算法
【Python入门系列】第十篇:Python图像处理和计算机视觉
图像处理和计算机视觉是计算机科学中非常重要的领域之一。Python作为一种功能强大且易于学习的编程语言,提供了许多用于图像处理和计算机视觉的库和工具。本文将介绍一些常用的Python库,并提供一些示例代码。
388 2
|
机器学习/深度学习 资源调度 自然语言处理
深度学习基础入门篇[8]::计算机视觉与卷积神经网络、卷积模型CNN综述、池化讲解、CNN参数计算
深度学习基础入门篇[8]::计算机视觉与卷积神经网络、卷积模型CNN综述、池化讲解、CNN参数计算
深度学习基础入门篇[8]::计算机视觉与卷积神经网络、卷积模型CNN综述、池化讲解、CNN参数计算
|
编译器 Linux 计算机视觉
计算机视觉-图像处理入门(三):在Windows系统里配置dlib环境并做图像批量处理
计算机视觉-图像处理入门(三):在Windows系统里配置dlib环境并做图像批量处理
187 0
计算机视觉-图像处理入门(三):在Windows系统里配置dlib环境并做图像批量处理
|
Ubuntu Linux 计算机视觉
计算机视觉-图像处理入门(二):初试人脸检测和Face图像处理
计算机视觉-图像处理入门(二):初试人脸检测和Face图像处理
191 0
计算机视觉-图像处理入门(二):初试人脸检测和Face图像处理
|
机器学习/深度学习 并行计算 Ubuntu
计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试
计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试
616 0
计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试

热门文章

最新文章