像素是理解计算机如何处理图像的最基本层面。暂时忘却你眼睛感知到的连续场景。从计算机的角度看,数字图像不是一张平滑的图片,而是一组由微小、独立的颜色或强度点组成的集合。这些点中的每一个都称为像素,它是“图像元素”(picture element)的缩写。可以把数字图像想象成一个由微小、大小一致的方形瓷砖组成的巨型马赛克,或者像绘图纸上的网格。这个网格中的每个方格都代表一个像素。它是屏幕上显示或内存中存储的图片中最小的可控制元素。像素的定义是什么?图像中的每个像素都具有两个主要特征:位置:就像在绘图纸上找到一个方格一样,每个像素在图像网格中都有一个特定的位置。这个位置通常由坐标定义,典型的是 (x, y) 或 (行, 列) 对。通常,在许多图像处理库中,坐标系以图像的左上角为起点,x轴向右,y轴向下。因此,最左上角的像素的坐标是 (0, 0)。值:每个像素还持有一个值(有时是多个值),用于描述其外观,特别是其颜色或亮度。想象一下,将一张数码照片放大到极致,直到你无法再看到清晰的物体,而只能看到一个个颜色均匀的方块。这些方块就是像素。digraph G { node [shape=plaintext]; rankdir=LR; img [label=< <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0"> <TR><TD BGCOLOR="#e9ecef"> </TD><TD BGCOLOR="#dee2e6"> </TD><TD BGCOLOR="#ced4da"> </TD><TD>...</TD></TR> <TR><TD BGCOLOR="#adb5bd"> </TD><TD BGCOLOR="#868e96" PORT="p1">P</TD><TD BGCOLOR="#495057"> </TD><TD>...</TD></TR> <TR><TD BGCOLOR="#adb5bd"> </TD><TD BGCOLOR="#868e96"> </TD><TD BGCOLOR="#495057"> </TD><TD>...</TD></TR> <TR><TD>...</TD><TD>...</TD><TD>...</TD><TD>...</TD></TR> </TABLE> >]; lab [label="像素“P”在\n位置 (行=1, 列=1)\n(使用0基索引)\n有一个特定的值\n表示其明暗/颜色。"]; img:p1 -> lab [style=dashed, color="#495057"]; }图像作为像素网格的简化表示。每个单元格都有一个位置(行、列)和一个决定其外观的值。像素与图像结构计算机最初不会“看到”图像中的猫或某个区域。它看到的是一个由数字组成的大型二维数组(网格或矩阵)。这个网格中的每个数字都对应着特定位置像素的值。例如,一个简单的灰度(黑白)图像可以表示为一个网格,其中每个像素都有一个指示其强度的单值,通常范围从0(黑色)到255(白色)。考虑一个微小的3x3灰度图像:位置 (行, 列)像素值 (强度)(0, 0)50(0, 1)65(0, 2)80(1, 0)100(1, 1)115(1, 2)130(2, 0)155(2, 1)170(2, 2)185对计算机而言,这个图像只是一个数字网格:$$ \begin{bmatrix} 50 & 65 & 80 \ 100 & 115 & 130 \ 155 & 170 & 185 \end{bmatrix} $$这种基于网格的数值结构是基础。它使得计算机能够使用数学运算轻松存储、访问和处理图像数据。诸如改变亮度之类的操作可能涉及向每个像素添加一个常数值,而更复杂的任务则涉及分析这些数值中的模式。理解图像由像素组成,每个像素都有一个位置和一个值,这是理解图像处理和计算机视觉算法如何运作的第一步。我们将在的基础上,学习这些像素值如何表示颜色以及我们如何操作它们。