RGB图像的代表是什么?

时间:2018-08-23 14:11:22

标签: image-processing rgb image-enhancement

我已经开始研究图像处理,并且被困在这里,请帮助我。

用N矩阵M表示灰度图像,矩阵的每个元素的值为[0,255],代表强度。

示例:

    row 1 : 2,120
    row 2 : 190, 40

这是2 x 2的矩阵,是灰色图像。

现在,我感到困惑,无法获得表示每个像素值或强度是三个值的混合的RGB图像的方法。

定义说,

  

RGB图像由M×N×3阵列表示,其中每个   3矢量对应于每个的红色,绿色和蓝色强度   像素。

但是我听不懂上面的句子。请帮助我理解含义。

先谢谢您。

3 个答案:

答案 0 :(得分:2)

灰度图像中,每个像素可以用一个数字表示,通常范围从0到255。此值确定像素显示的暗淡程度(例如0为黑色,而255为255)。亮白色)。

彩色图像中,每个像素可以由三个数字(红色,绿色和蓝色)的三个数字(每个数字从0到255)表示。这三个红色,绿色和蓝色(RGB)值一起用于确定该像素的颜色。例如,紫色可能表示为128、0、128(中等强度的红色和蓝色的混合,没有绿色)。

现在,我以您的示例为例,以使您了解该给定的定义。

比方说2 x 2矩阵的彩色图像:

第1行:绿色,蓝色

第2行:红色,黑色

如果我用RGB值代表上述颜色:

第1行:[0,255,0],[0,0,255]

第2行:[255,0,0],[0,0,0]

因此,M×N×3表示M是矩阵的行数,N是矩阵的列数,而3是表示RGB值的向量的大小。 Here是像素网格中的RGB表示形式。

答案 1 :(得分:0)

(A)RGB像素通常保存为整数(32位)。因此,每个通道都由8位表示(给您0至255之间的范围)。数字的前8位(32-24)表示Alpha通道,后8位是红色通道(24-16),后8位是绿色通道(16-8),后8位是蓝色通道。因此,阵列中的每个数字实际上代表了各个颜色通道的透明度(alpha)和3个强度值,因此也可以视为向量。 M-by-N-by3描述了一个MxN矩阵,其中包含每个像素的向量(整数)以描述其颜色。

该定义进一步使您了解如何在三维空间中绘制/查看像素值。想象一下3D diagram,其中每个轴代表一个颜色通道。在图表中添加特定颜色后会得到什么?一个向量,用于描述颜色在起源于三维空间中的位置!

答案 2 :(得分:0)

从概念上讲,M×N RGB图像是2D矩阵,其中每个矩阵元素都是具有3个值的向量。

在物理内存中可以用多种不同的方式表示。例如:

  1. 使用一个MxN数组,其中每个元素都是24位整数。每个整数都由红色,绿色和蓝色值(每个8位整数)形成,例如:red<<16 | green<<8 | blue(或等效地red*256*256 + green*256 + blue)。

  2. 使用3个独立的MxN阵列,每个颜色通道一个。

  3. 使用MxNx3数组,其中第3维是“颜色维”。您可以将其索引为img[i,j,k],其中k为0、1或2。因此,一个像素由3个数组元素组成。

最后一种格式是问题中描述的格式。这样的3D数组通常实现为1D数组,其索引转换如下:

index = i + j * M + k * N*M;

或这样:

index = i * N*3 + j * 3 + k;

或以另一种不同的顺序,没关系(这里假设基于0的索引)。因此,该数组具有M*N*3个元素,其中三个元素一起代表一个像素。