这里简单介绍三种图像:二值图像、灰度图像、彩色图像。
二值图像
二值图像是仅仅包含黑色和白色的图像
在计算机中,通过一个栅格状排列的数据集(矩阵)来表示和处理图像。例如,下图是一个字母A的图像,计算机在处理该图像时,会首先将其划分为一个个的小方块,每一个小方块就是一个独立的处理单位,称为像素点。接下来,计算机会将其中的白色像素点(白色小方块区域)处理为“1”,将黑色像素点(黑色小方块区域)处理为“0”,以方便进行后续的存储和处理等操作
按照上述处理方式,字母A在计算机内的存储形式如下
灰度图像
二值图像表示起来简单方便,但是因为其仅有黑白两种颜色,所表示的图像不够细腻。如果想要表现更多的细节,就需要使用更多的颜色。采用了更多的数值以体现不同的颜色,使图像的细节信息更丰富。下图是灰度图像示例。
通常,计算机会将灰度处理为256个灰度级,用数值区间[0, 255]来表示。其中,数值“255”表示纯白色,数值“0”表示纯黑色,其余的数值表示从纯白到纯黑之间不同级别的灰度。用于表示256个灰度级的数值0~255,正好可以用一个字节(8位二进制值)来表示。
(与上述二值图像在计算机存储形式类似,灰度图像的存储方式只不过是把栅格内0或1用[0,255]之间的值来表示)
彩色图像
相比二值图像和灰度图像,彩色图像是更常见的一类图像,它能表现更丰富的细节信息。
神经生理学实验发现,在视网膜上存在三种不同的颜色感受器,能够感受三种不同的颜色:红色、绿色和蓝色,即三基色。自然界中常见的各种色光都可以通过将三基色按照一定的比例混合构成。除此以外,从光学角度出发,可以将颜色解析为主波长、纯度、明度等。从心理学和视觉角度出发,可以将颜色解析为色调、饱和度、亮度等。通常,我们将上述采用不同的方式表述颜色的模式称为色彩空间,或者颜色空间、颜色模式等。
仅介绍一下较为常用的RGB色彩空间:
在RGB色彩空间中,存在R(red,红色)通道、G(green,绿色)通道和B(blue,蓝色)通道,共三个通道。每个色彩通道值的范围都在[0, 255]之间,我们用这三个色彩通道的组合表示颜色。
以比较通俗的方式来解释就是,有三个油漆桶,分别装了红色、绿色、蓝色的油漆,我们分别从每个油漆桶中取容量为0~255个单位的不等量的油漆,将三种油漆混合就可以调配出一种新的颜色。三种油漆经过不同的组合,共可以调配出所有常见的256×256×256=16777216种颜色。
那么,可以用一个三维数组来表示一副RGB彩色空间的彩色图像。可以简单的理解为,与二值图像、灰度图像类似,只不过二值图像每个栅格里是0或1,灰度图像的每个栅格里是0到255,彩色图像则是三组数字,每组数字都是在[0,255]之间,例如(100, 26, 213)。
一般情况下,在RGB色彩空间中,图像通道的顺序是R→G→B,即第1个通道是R通道,第2个通道是G通道,第3个通道是B通道。需要特别注意的是,在OpenCV中,通道的顺序是B→G→R,即:
- 第1个通道保存B通道的信息。
- 第2个通道保存G通道的信息。
- 第3个通道保存R通道的信息。
在图像处理过程中,可以根据需要对图像的通道顺序进行转换。除此以外,还可以根据需要对不同色彩空间的图像进行类型转换,例如,将灰度图像处理为二值图像,将彩色图像处理为灰度图像等。
参考:
《OpenCV轻松入门:面向python》