文章目录

  • 摘要
  • 原理
    • 示例说明
    • 说明
    • 什么是真彩色图像?
    • 那么为什么真彩色图像不使用调色板呢?

摘要

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

原理

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

示例说明

给出一张分辨率为450*500的图片,颜色为16色的彩色图,即该图片所用到的彩色数目总共有16种,每一个像素都用R、G、B三个分量表示,即每个像素的深度为8位,这样的话每个像素有3个颜色分量(256×256×256),存储一个像素需要8 * 3位,即3个字节大小,计算出存储该图片所需要是存储空间的大小:

Size1=450∗500∗3=675000Byte

但如果我们采用调色板压缩算法,即建立一张索引表来记录着16中颜色,只需要4位(2^4 = 16)(0.5个字节长度)就可以表示出这16中颜色在索引表中的位置,这张索引表占用的存储空间大小为3 * 16 = 48 Byte每一个颜色映射占用三个字节,这个怎么映射的?不应该是如图中所示的3.5×16字节吗?),可以计算出采用索引表存储该图片需要的存储空间大小为:

Size2=(450∗500∗0.5)+(3∗16)=112548Byte

这样一对比,采用调色板所需要是存储空间的大小约为原来的1/6,达到了节约存储空间大小的目的

说明

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

什么是真彩色图像?

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

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

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

参考文章:调色板详解

调色板类型、调色板模式、调色板压缩算法是什么意思?(调色板就是一个颜色的索引表)相关推荐

  1. 云计算设计模式(十二)——索引表模式

    云计算设计模式(十二)--索引表模式 创建索引过的被查询条件经常被引用的数据存储等领域.这种模式可以通过允许应用程序更快速地定位数据来从数据存储中检索提高查询性能. 背景和问题 许多数据存储通过使用主 ...

  2. R语言plotly可视化:plotly可视化基本散点图(指定图像类型、模式)、plotly可视化散点图(为不同分组数据配置不同的色彩)、ggplotly使用plotly包呈现ggplot2的可视化结果

    R语言plotly可视化:plotly可视化基本散点图(指定图像类型.模式).plotly可视化散点图(为不同分组数据配置不同的色彩).ggplotly使用plotly包呈现ggplot2的可视化结果 ...

  3. RabbitMQ--交换器类型/队列模式--使用/教程/详解

    原文网址:RabbitMQ--交换器类型/队列模式--使用/教程/详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍RabbitMQ的交换器类型和队列模式. 本内容也是Java后端面试常见的问题. ...

  4. WPF MVVM模式 发送DataGird表格的数据到另一个页面显示

    WPF MVVM模式 发送DataGird表格的数据到另一个页面显示 这里我们是使用Messenger消息机制把这个页面的表格行数据发送到另一个页面显示,效果如下图: 首先在这个表格页面的ViewMo ...

  5. 5位评委对参赛选手进行打分,将所有的打分结果存储到对应类型的数组中, 将所有的评分结果去除一个最低分,去除一个最高分,然后获取的平均分数为 选手的最终得分.设计程序,用键盘输入5位评委的评分,并打印输

    5位评委对参赛选手进行打分,将所有的打分结果存储到对应类型的数组中, 将所有的评分结果去除一个最低分,去除一个最高分,然后获取的平均分数为 选手的最终得分.设计程序,用键盘输入5位评委的评分,并打印输 ...

  6. 云技术概况:云计算的优点/特点/类型/服务模式

    云是一种按使用情况付费的模式,它提供了可用的.方便的.按需的网络访问,将其引入一个可配置的计算资源共享池(包括网络.服务器.存储.应用软件.服务等),可以迅速获得这些资源,只需花费很少的管理工作,也不 ...

  7. php函数的严格类型,严格模式

    php 7开始支持严格类型,php 7 启用严格类型:代码文件头部加上declare(strict_types=1); php中文文档的declare函数页面,还没更新,没有严格类型的介绍.然而英文文 ...

  8. 云计算类型(服务模式)

    云计算的三种主要类型包括基础设施即服务.平台即服务和软件即服务.每种类型的云计算都提供不同级别的控制.灵活性和管理,因此您可以根据需要选择正确的服务集. 基础设施即服务 (IaaS) IaaS 包含云 ...

  9. C#设计模式学习(类型对象模式)

    实体对象类 /// <summary> /// Monster类" has a"Breed类,Monster类是最后实例化出来最外层的实体,即便有新的Monster,M ...

  10. (ECB,CBC)分组密码的算法类型及模式

    电子密码本(ECB) 使用分组密码最明显的方式:一个铭文分组加密成一个密文分组因为相同的明文分组永远被加密成相同的密文分组,而且理论上制作成一个包含明文和相应密文的密码本是可能的.然而,如果分组的大小 ...

最新文章

  1. android搭建开发环境
  2. exp/expdp中query参数的使用
  3. C语言中的字符和字符串
  4. 数据库高级知识——MySql锁机制
  5. vue 类型字段除了用select框_10个好用的 HTML5 特性
  6. 一文了解11个常见的多变量分析方法!
  7. AE输出GIF动图格式的方法支持 CC 2014到2019
  8. 计算机智能化音乐制作,基于单片机的音乐发生器设计.docx
  9. ST-LINK官方驱动下载方法
  10. 软件工程 超市库存管理系统 设计报告
  11. 理解高通量测序技术和单细胞测序技术(自用)
  12. C语言字符串分割 trimmed simplified split
  13. 虚拟机构建局域网用户和组远程
  14. 长径比4.0金纳米棒直径4.2nm|长径比3.4金纳米棒直径10nm 长度34nm|长径比3.9金纳米棒直径10nm 长度39nm
  15. LeetCode之玩筹码
  16. C# Buffer.BlockCopy方法详解
  17. Voron2.2 3D打印机制作-软件篇(1)
  18. TCP的CLOSE_WAIT和TIME_WAIT问题汇总
  19. 最好用的Python网页抓取工具包!
  20. 基于XMPP的即时通信系统的建立(二)— XMPP详解

热门文章

  1. 昂达ONDA B460SD4 UEFI模式刷BIOS教程
  2. 美化字体 css3,美化你空间的文字:20种CSS字体镜像特效
  3. html手机分辨率选择,怎么看手机分辨率(手机屏幕分辨率多少才合适?)
  4. Django文档是如何组织的?
  5. C语言结构体,共用体所占字节数计算
  6. Python使用wordcloud词云库——中文乱码
  7. 互联网人愚人节整蛊指南
  8. 笔记本CPU处理器HQ,H,U,M,型号之间的区别
  9. poweramp最完美设置_powerAMP音效设置
  10. 百度移动搜索优化指南2.0