一、 前言
位图是我们最常见到的图像形式之一, 是以许多点阵(像素)稠密聚集组成的整体
通道可以看做是组成完整位图的分量—-比如RGB模式下, 图像由R G B三个通道组成
最常见的模式就是RGB模式, 但也存在其他模式, 它们有各自的应用场景
二、 正篇
2.1 RGB
色彩模式
RGB图像由三个颜色通道组成。8 位/通道的 RGB 图像中的每个通道有 256 个可能的值,这意味着该图像有 1600 万个以上可能的颜色值。有时将带有 8 位/通道 (bpc) 的 RGB 图像称作 24 位图像(8 位 x 3 通道 = 24 位数据/像素)。通常将使用24位RGB组合数据位表示的的位图称为真彩色位图。
RGB模式
又被称为三原色光模式
, 将三原色的色光以不同比例相加, 合成产生各种色彩光
我们平常看到的电子屏幕, 其实不是色光直接叠加后的结果: 它们没有重叠在一起, 只是因为大脑的有关的视觉机制, 强制将它们组合在一起, 才让我们看到组合后的了各种颜色
- 常见的计算机
RGB
显示模式: 24比特模式、 32比特模式
24比特模式即R
、G
、B
各8位->每个颜色通道强度的取值范围(0-255)
不同的强度组合成不同的颜色, 一个RGB
的三元组组成了一个像素色彩的描述
32比特模式实际上是24位模式, 为了提高数据传送的速度塞了8位无关的数据
但在DirectX
,OpenGL
等环境下, 余下的8位数据表示像素的透明度(Alpha通道)
2.2 CMYK
色彩模式
CMYK
模式的中文是印刷四分色模式
,利用色料的三原色混色原理,加上黑色油墨,共计四种颜色混合叠加,形成所谓“全彩印刷”
为了和前面的RGB模式联系起来, 在这里补充一个光学常识, 如果明白的话就直接跳过吧
*光学三原色和色料三原色的区别及形成原因
在小学的美术课上, 不出意外的话会教授三原色的知识, 不知道有没有人像我一样纠结三原色到底是红黄蓝
还是红绿蓝
到了初中, 有人告诉我一种是光学三原色
, 一种是色学三原色
, 现在看来这种说法有点不够准确了
高中物理告诉我, 人眼’看到’物体, 是因为物体反射的光进入了我们的眼睛. 不同频率的光对应了不同的颜色, 所以我们的视觉实际接收到的信号, 就是进入我们眼睛的不同频率的光
不同物体呈现出不同的颜色, 是因为它们对不同频率光的吸收率不同:
- 我们看到了绿色的树叶, 是因为树叶按特性吸收了各种频率的光后, 留下的光呈现出绿色
- 我们看到书上的红色字体, 是因为油墨吸收过后反射的光是红色
这和显示器的原理不同:
- 显示器是自发光的, 发出什么光我们接受什么光
- 印刷物是反射光的, 我们接受的光其实是环境光(一般是白光)经过吸收反射的结果
结合上面的RGB模式
, 光学三原色是Red红
、Green绿
、Blue蓝
, 色学三原色即为它们的补色: 即Cyan青
、Magenta洋红
、Yello黄
- 青色光(0, 255, 255) = 白光(255, 255, 255) - 红光(255, 0, 0)
也就是说, 我们看到的青色颜料, 其实就是”只吸收红光的物体”
同理:
- 洋红色光(255, 0, 255) -> 洋红色颜料是”只吸收绿光的物体”
- 黄色光(255, 255, 0) -> 黄色颜料是”只吸收蓝光的物体”
这样只吸收一种原色光的特性很适合进行混色:
- 对于色光, 我们使用加法进行混色, 如红光与绿光叠加: 红光(255, 0, 0) + 绿光(0, 255, 0) = 黄色光(255, 255, 0)
- 而对于色料, 我们采用减法, 假设基础光(环境光)为白光(255, 255, 255): 基础光(255, 255, 255) - 洋红颜料吸收(0, 255, 0) - 青色颜料吸收(255, 0, 0) = 蓝光(0, 0, 255), 所以我们将洋红和青色颜料混合在一起, 就可以得到蓝色颜料
好的, 以上内容都在解释为什么印刷不用红绿蓝三色的颜料, 让我们回到正题, 讨论CMYK编码
通过上面的介绍, CMY
的含义应该很好猜了: 分别是Cyan青
、Magenta洋红
、Yello黄
, 而最后的K
则是BLACK
因为颜料的混合不是那么理想, 所以最常用的黑色单独用一种油墨以提高印刷质量
CMYK
的四个颜色通道的取值都是0-100, 即0%-100%, 下面这张图应该会给你一些实感:
CMYK
的色彩范围是远远小于RGB
的, 所以不做印刷的话, 尽量不要选择CMYK模式, 更不要和RGB
来回转换(换一次失真一次)
本来不应该扯这么远的, 毕竟搞计算机的重点还是在RGB模式
,CMYK
基本上就是设计师和印刷厂应该研究的东西了(捂脸). 真正地印刷起来, 设备因素、环境因素还有各种因素, 水深得很, 如果对CMYK
有兴趣, 推荐看这篇文章
对于码农们来说, 最有用的也许就是四个通道的取值范围了)
2.3 索引颜色模式
这是一种单通道的模式: 正如名字那样, 是通过”查表”来获得颜色的
索引颜色十分有限, 一共有256种颜色, 也就是说只需要一个8位的单通道即可描述颜色, 比起三通道/四通道的RGB, 大大缩小了文件的体积, 由于色彩空间十分有限和索引的特性, 我们几乎无法对它进行任何有关颜色的编辑, 这时我们一般先将其转换成RGB模式进行编辑(在Photoshop的使用过程中, 这样的做法非常常见)
上图是在AutoCAD中选择索引颜色的窗口
- 这种囊中羞涩的感觉有没有在哪里的图片体会到?
- 没错, GIF就是这种感觉!
GIF使用的就是索引颜色模式, 所以当我们兴致勃勃制作GIF后, 出来的色彩可能会让你大失所望
2.4 灰度和位图
把这两个放在一起说的原因, 是因为它们都是黑白的
灰度图像
就是我们常说的黑白图像, 当我们使用黑白打印机的时候, 彩色图片都会转换成灰度图像
打印出来- 此
位图
非彼位图
, 文章标题的位图
是相对于矢量图的概念, 而这里的位图
则是一种色彩模式
大致了解一下之后先看两组图片
第二组是放大后的效果
可以看到灰度图片有灰色的过渡, 而位图非黑即白
我们很容易猜测出:
- 灰度是单通道的(黑白)、 多位的(不同程度的灰色)
- 位图是单通道的(黑白)、 一位的(0和1表示黑白两色)
其实灰度的取值也是在0%-100%之间(可能是便于印刷?)
2.5 Lab
色彩模式
这个色彩模式可能最陌生, 我也是在photoshop中偶然看到的, 当时我一个朋友在发愁如何对照片的亮度进行量化, 我也算碰巧给了他一些思路
Lab模式是一种RGB和CMYK之间的替代颜色模式,Lab模式不能用于任何实际的输出设备(不像RGB和CMYK), 但具有独特的优势:
- Photoshop的内部颜色计算是通过Lab颜色实现的
- Lab模式的色域最宽,比起RGB和CMYK的颜色空间能提供更广的色域
- Lab是基于人眼视觉原理创立的颜色模式,与人视觉的工作方式非常相似,理论上它概括了人眼所能看到的所有颜色
Lab
如其名, 由L
、a
、b
三个通道组成
- L通道(也称“明度”通道)包含亮度信息,即保存图像的黑白信息。Lab颜色的很大一部分功能都源于颜色信息与亮度信息的分离
- a通道包含绿色和洋红色信息。在某个给定的像素点,A通道值为0表示该像素既不是绿色也不是洋红色。在Photoshop中,a通道值为-128时表示该像素完全是绿色,+127表示该像素完全是洋红色。这种颜色结构被称为对抗色,因为通道中的颜色位于颜色刻度的两端。
- 在Photoshop中,当b通道值为0时,该像素是黄色和蓝色之间的中性色调。b通道刻度上的-128表示纯蓝色,+127表示纯黄色。