RGB色彩的计算机表示
计算机显示模式[编辑]
24比特模式[编辑]
每像素24位(比特s per pixel,bpp)编码的RGB值:使用三个8位无符号整数(0到255)表示红色、绿色和蓝色的强度。这是当前主流的标准表示方法,用于真彩色和JPEG或者TIFF等图像文件格式里的通用颜色交换。它可以产生一千六百万种颜色组合,对人类的眼睛来说,其中有许多颜色已经是无法确切的分辨。
下图展示了24 bpp的RGB立方体的三个“完全饱和”面,它们被展开到平面上:
| 黄色 (255,255,0) |
绿色 (0,255,0) |
青色 (0,255,255) |
|
| 红色 (255,0,0) |
蓝色 (0,0,255) |
||
| 红色 (255,0,0) |
品红色 (255,0,255) |
上述定义使用名为“全值域” RGB的约定。颜色值也经常被认为是取值于0.0到1.0之间,这可以被映射到其他数字编码。
使用每原色8-比特的全值域RGB可以有256级别的白-灰-黑深浅变化,255个级别的红色、绿色和蓝色(和它们的等量混合)的深浅变化,但是其他色相的深浅变化要少一些。由于gamma校正,256级别不表示同等间隔的强度。
作为典型,数字视频的RGB不是全值域的。视频RGB是有比例和偏移量的约定,即 (16, 16, 16)是黑色,(235, 235, 235)是白色。例如,这种比例和偏移量用在了CCIR 601的数字RGB定义中。
16色[编辑]
在这种模式中有16种基本颜色,它们分别是:
| 名称 | 颜色 | 色光 | 色料 | 色相 | 代码 | MS-DOS | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| R | G | B | C | M | Y | K | 角度 | 饱和 | 明度 | ||||
| 红色 | 255 | 0 | 0 | 0 | 255 | 255 | 0 | 0° | 100% | 100% | #FF0000 | 12 | |
| 黄色 | 255 | 255 | 0 | 0 | 0 | 255 | 0 | 60° | 100% | 100% | #FFFF00 | 14 | |
| 绿色 | 0 | 255 | 0 | 255 | 0 | 255 | 0 | 120° | 100% | 100% | #00FF00 | 10 | |
| 青色 | 0 | 255 | 255 | 255 | 0 | 0 | 0 | 180° | 100% | 100% | #00FFFF | 11 | |
| 蓝色 | 0 | 0 | 255 | 255 | 255 | 0 | 0 | 240° | 100% | 100% | #0000FF | 9 | |
| 品红色 | 255 | 0 | 255 | 0 | 255 | 0 | 0 | 300° | 100% | 100% | #FF00FF | 13 | |
| 栗色 | 128 | 0 | 0 | 0 | 255 | 255 | 127 | 0° | 100% | 50% | #800000 | 4 | |
| 橄榄色 | 128 | 128 | 0 | 0 | 0 | 255 | 127 | 60° | 100% | 50% | #808000 | 6 | |
| 深绿色 | 0 | 128 | 0 | 255 | 0 | 255 | 127 | 120° | 100% | 50% | #008000 | 2 | |
| 蓝绿色 | 0 | 128 | 128 | 255 | 0 | 0 | 127 | 180° | 100% | 50% | #008080 | 3 | |
| 深蓝色 | 0 | 0 | 128 | 255 | 255 | 0 | 127 | 240° | 100% | 50% | #000080 | 1 | |
| 紫色 | 128 | 0 | 128 | 0 | 255 | 0 | 127 | 300° | 100% | 50% | #800080 | 5 | |
| 白色 | 255 | 255 | 255 | 0 | 0 | 0 | 0 | 0° | 0% | 100% | #FFFFFF | 15 | |
| 银色 | 192 | 192 | 192 | 0 | 0 | 0 | 63 | 0° | 0% | 75% | #C0C0C0 | 7 | |
| 灰色 | 128 | 128 | 128 | 0 | 0 | 0 | 127 | 0° | 0% | 50% | #808080 | 8 | |
| 黑色 | 0 | 0 | 0 | 0 | 0 | 0 | 255 | 0° | 0% | 0% | #000000 | 0 | |
16比特模式[编辑]
16比特模式分配给每种原色各为5比特,其中绿色为6比特,因为人眼对绿色分辨的色调更精确。但某些情况下每种原色各占5比特,余下的1比特不使用。
32比特模式[编辑]
实际就是24比特模式,余下的8比特不分配到像素中,这种模式是为了提高数据输送的速度(32比特为一个DWORD,DWORD全称为Double Word,一般而言一个Word为16比特或2个字节,处理器可直接对其运算而不需额外的转换)。同样在一些特殊情况下,如DirectX、OpenGL等环境,余下的8比特用来表示象素的透明度(Alpha)。
RGB色彩的计算机表示的更多相关文章
- RGB色彩对照表
RGB色彩对照表 #FFFFFF #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA #FFFAF0 #FFFACD #FFF8DC #FFF68F ...
- python中RGB色彩
turtle.colormode(mode)来改变色彩数值的使用 如果在修改颜色时写turtle.colormode(1.0) ,就需要使用RGB小数模式来去改变颜色 如果在修改颜色时写turtle. ...
- RGB與CIELAB色彩空間轉換
原地址:http://cg2010studio.wordpress.com/2012/10/02/rgb與cielab色彩空間轉換/ 之前有研究CIE L*a*b*色彩空間,現在想更進一步探討RGB色 ...
- 颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别?计算机颜色格式( 8位 16位 24位 32位色)<转>
颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别简单地说这里说的位数和windows系统显示器设置中的颜色位数是一样的.表示的是能够显示出来的颜色的多少. 8位的意思是说,能够显示出 ...
- YUV和RGB格式分析
做嵌入式项目的时候,涉及到YUV视频格式到RGB图像的转换,虽然之前有接触到RGB到都是基于opencv的处理,很多东西并不需要我们过多深入的去探讨,现在需要完全抛弃现有的算法程序,需要从内存中一个字 ...
- ARGB和RGB
ARGB 一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构. ARGB---Alpha,Red,Green,Blue. Alpha-图像通道 如果图形卡具有 ...
- RGB, YUV及相关标准
最近在一次排查问题的过程中发现色彩空间及色彩空间转换也有很多技术细节,而理清这些细节能帮助我们更准确的定位视频方面的问题. 1. 色彩空间 色彩空间一词源于英文的“Color Space”,色彩学中, ...
- YUV和RGB格式分析【转】
转自:http://www.cnblogs.com/silence-hust/p/4465354.html 做嵌入式项目的时候,涉及到YUV视频格式到RGB图像的转换,虽然之前有接触到RGB到都是基于 ...
- 颜色空间模型(HSV\LAB\RGB\CMYK)
通过Photoshop的拾色器,我们知道表征颜色的模型的不止一种,本文将系统并且详细讨论这四种模型(HSV.LAB.RGB和CMYK)之间的联系以及应用.本文部分章节整合了多位优秀博主的博客(链接见本 ...
随机推荐
- C++中的swap函数
最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符 template <class T> void swap ( T& a, T& b ) { T c(a); a ...
- Redis Windows环境搭建
简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型.内置复制 ...
- Day1下午
T1 暴力50分 排A和B X,不用考虑X 用数组80分, 权值线段树.平衡树100, 一个函数? T2 打表 dp logn+1,+ 搜索,dp? txt..... T3 30分暴力和尽量均 ...
- JQuery使用正则表达式验证手机号,邮箱,身份证(含有港澳台),网址
自己对正则验证也没系统用过,这次自己做个demo,一下子把这些全都用上了,下次有需要直接来拿了. 以下代码是在页面使用JQuery进行验证的,也有在后台进行验证的,可以试试,都一样的原理. 直接上代码 ...
- IOS NSTimer 定时器用法总结
NSTimer在IOS开发中会经常用到,尤其是小型游戏,然而对于初学者时常会注意不到其中的内存释放问题,将其基本用法总结如下: 一.初始化方法:有五种初始化方法,分别是 + (NSTimer *)ti ...
- JavaSE之Java基础(3)
11.什么是值传递和引用传递? 值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值. 引用传递:也称为传地址.方法调用时,实际参数的引用被传递给方法 ...
- html5的使用
<!DOCTYPE html><html lang="en"><head> <meta charest="UTF-8" ...
- silverlight数据绑定模式TwoWay,OneWay,OneTime的研究
asp.net开发中,数据绑定是一个很简单的概念,控件与数据绑定后,控件可以自动把数据按一定的形式显示出来.(当然控件上的值改变后,可以通过提交页面表单,同时后台服务端代码接收新值更新数据) silv ...
- 《Python高效开发实战》实战演练——建立应用2
为了在项目中开发符合MVC架构的实际应用程序,需要在项目中建立Django应用.每个Django项目可以包含多个Django应用.建立应用的语法为: #python manage.pystartapp ...
- sql server 搭建发布订阅后,改端口不正常工作的问题
sql 的发布订阅,想必大家都了解,但一般都是在默认的1433的情况下搭建的,那么1433换成别的端口,发布还能正常工作吗? 在一次客户的真实场景上我就遇到了. 好了,今天不想写太多,简化下, 测试环 ...