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

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

更多深度文章,请关注: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/,可以与作者交流。

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

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


相关文章
|
8月前
|
计算机视觉 C++
11.【openCV计算机视觉入门基础】
11.【openCV计算机视觉入门基础】
47 0
|
9月前
|
监控 自动驾驶 算法
【Python入门系列】第十篇:Python图像处理和计算机视觉
图像处理和计算机视觉是计算机科学中非常重要的领域之一。Python作为一种功能强大且易于学习的编程语言,提供了许多用于图像处理和计算机视觉的库和工具。本文将介绍一些常用的Python库,并提供一些示例代码。
199 2
|
编译器 Linux 计算机视觉
计算机视觉-图像处理入门(三):在Windows系统里配置dlib环境并做图像批量处理
计算机视觉-图像处理入门(三):在Windows系统里配置dlib环境并做图像批量处理
155 0
计算机视觉-图像处理入门(三):在Windows系统里配置dlib环境并做图像批量处理
|
Ubuntu Linux 计算机视觉
计算机视觉-图像处理入门(二):初试人脸检测和Face图像处理
计算机视觉-图像处理入门(二):初试人脸检测和Face图像处理
150 0
计算机视觉-图像处理入门(二):初试人脸检测和Face图像处理
|
机器学习/深度学习 并行计算 Ubuntu
计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试
计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试
477 0
计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试
|
机器学习/深度学习 算法 Java
【计算机视觉处理1】OpenCV入门
OpenCV是一个跨平台且开源的计算机视觉和机器学习库,全称Open Source Computer Vision Library 。由Intel公司开源。其中主体库的代码是Intel用C/C++编写的,部分贡献库代码由社区程序员提供。
138 0
|
计算机视觉 机器学习/深度学习 算法
计算机视觉入门大全:基础概念、运行原理、应用案例详解
「机器能够模拟人类视觉系统」的幻想已经过时了。自 1960 年代第一批学术论文出现以来,计算机视觉已经走了很远,现代系统已经出现,且它们可以集成到移动应用中。 今天,由于其广泛应用和巨大潜力,计算机视觉成为最热的人工智能和机器学习子领域之一。其目标是:复制人类视觉的强大能力。 但是,到底什么是计算机视觉?它在不同行业中的应用现状如何?知名的商业用例有哪些?典型的计算机视觉任务是什么? 本文将介绍计算机视觉的基础概念和现实应用,对任何听说过计算机视觉但不确定它是什么以及如何应用的人,本文是了解计算机视觉这一复杂问题的便捷途径。
742 0
计算机视觉入门大全:基础概念、运行原理、应用案例详解
|
计算机视觉 算法 机器学习/深度学习
带你读《OpenCV 4计算机视觉项目实战 (原书第2版)》之一:OpenCV入门
本书首先介绍OpenCV的入门知识及安装,然后介绍OpenCV的基础知识,包括用户界面、矩阵运算、滤波器和直方图等,之后介绍复杂的计算机视觉算法,包括对象分割和分类、视频监控、对象跟踪等,后探讨对象跟踪、文本识别、机器学习和人脸检测等高级技术。阅读本书之后,你将掌握常用和新的计算机视觉技术,并学会从零开始构建各类OpenCV项目。
|
2天前
|
机器学习/深度学习 计算机视觉
AIGC核心技术——计算机视觉(CV)预训练大模型
【1月更文挑战第13天】AIGC核心技术——计算机视觉(CV)预训练大模型
401 3
AIGC核心技术——计算机视觉(CV)预训练大模型

热门文章

最新文章