调色板是一种采用索引的压缩算法目的是为了节省存储空间,只有图片的颜色小于256或等于色的时候才采用,对于像素深度高于16位的图像,不使用调色板。

原理:在低颜色深度的模式下,在有限个数的颜色值与RGB颜色之间建立一个一一对应的线性表。当使用低颜色深度模式下的某种颜色时,不需要对这种颜色的RGB分量进行描述,只需用它在线性表中的索引号,就可以表征出该颜色。因为索引号的编码长度远远小于RGB分量的编码长度,所以使用调色板,既可以达到显示彩色图像,又可以较少图像所占用的存储空间。所以简单的来说调色板就是一个颜色的索引表。


示例说明:

给出一张分辨率为450*500的图片,颜色为16色的彩色图,即该图片所用到的彩色数目总共有16种,每一个像素都用R、G、B三个分量表示,即每个像素的深度为8位,这样的话每个像素有3个颜色分量,存储一个像素需要8 * 3位,即3个字节大小,计算出存储该图片所需要是存储空间的大小:
pillow索引调色板 搜索调色板长什么样_存储空间
但如果我们采用调色板压缩算法,即建立一张索引表来记录着16中颜色,只需要4位(0.5个字节长度)就可以表示出这16中颜色在索引表中的位置,这张索引表占用的存储空间大小为3 * 16 = 48 Byte,可以计算出采用索引表存储该图片需要的存储空间大小为:
pillow索引调色板 搜索调色板长什么样_存储空间_02
这样一对比,采用调色板所需要是存储空间的大小约为原来的1/6,达到了节约存储空间大小的目的


说明:黑白图像(单色图)所用到的调色板的颜色数据是2;256种颜色的图像(灰度图),使用调色板,调色板记录的颜色数目是256种颜色,通过调色板的索引值就可以标准所用到的颜色类型;而对于像素深度为16比特或者24比特的真彩色图像,不使用调色板,图像数据中直接保留RGB三种颜色分量的组合。


什么是真彩色图像?

答:图像的颜色种类包括了RGB颜色空间所有可表征的颜色数目,例如16位色图和24位色图

那么为什么真彩色图像不使用调色板呢?

答:因为如果用调色板来表示真彩色图像所用到的颜色种类时,所需要的存储空间比直接使用RGB分量组合来表征颜色所需要的存储空间还要大,所以对于真彩色图的颜色我们直接使用RGB颜色分量的组合来表示