数字图像入门 颜色的表达方式
夏昆冈 于 2011.06.09 10:57:42 | 源自:www.soomal.com | 版权:原创 | 平均/总评分:09.29/65

颜色可以通过数字方式记录,以24位图像为例,它可以最多记录16777216种不同的颜色,分别记录为0-16777215的数字。但这些色彩要如何表达呢?随便取一个数字,2456432,它是什么颜色?并不直观。它是否有易用易读的表达方式?

  • 在编程中,经常会用到一个RGB函数来表达颜色,它的表达式为:

    • RGB(红色值、绿色值、蓝色值)
  • 这个函数非常直观,例如RGB(0,0,0)为黑色、RGB(255,255,255)为白色、RGB(255,0,0),为红色、RGB(127,127,127)为中度灰、RGB(0,0,255),为蓝色等等,它通过函数方式分别确定红绿蓝数值,得到一个最终合成色的数值。这种表达方式不只是用于编程,它也可以用于标记性语言中用于标记颜色。在绘图软件当中,例如Photoshop,使用取色器取色,也会单独显示当前色彩的红绿蓝原色值,这比直接显示一个合成色的数值要更加清晰明了。

    RGB是一个函数,它最终会返回合成色对应的整数值,RGB(0,0,0)的值为0,RGB(255,255,255)的值为16777215,RGB(255,0,0)的值为255,RGB(0,255,0)的值为65280,RGB(0,0,255)的值为16711680。它的求值公式基本为:

    • 合成色对应的整数值 = 红色值+绿色值*256+蓝色值*65536
  • 这些色彩值如果用十六进制表达,会发现其中规律。24位图像最大色彩值,换成十六进制为FFFFFF,六位的十六进制数字,每两位对应一个原色的值。其表达方式也非常直观明了。低字节值表示红色,中字节值表示绿色,高字节值表示蓝色。因此使用十六进制数值来表达颜色,也十分广泛。主要用于标记性语言当中。HTM[网页]、XML均属于标记性语言。

  • 在标记性语言当中,会在数值前加上#号,这个#没有特殊意义,主要是防止程序将“FFFFFF”这样的值当做普通字符串处理。它的“位”与原色的对应关系也有不同,红色与蓝色的位置对调,低字节值表示蓝色,中字节值表示绿色,高字节值表示红色。这样重新组合后的结果就是从左至右依次红绿蓝排列,阅读性上更好。

    这两种表达方式虽有区别,但都属于RGB颜色系统,除此之外,还有2种比较常见的颜色系统,这里也简单介绍一下。

  • 除了RGB之外,还有一个色相、饱和度和亮度系统 (HSB),它定义颜色的方式不是利用三原色。色相记录色相环的度数,0度时为红色,120度时为绿色,240度时为蓝色,其他度数为原色之间的中间色,记录住度数,就记住了颜色,色相值的取值范围为0-360。S与B分别表示饱和度和亮度,取值范围0-100。.它表达色彩的形式与RGB相似,例如红色为HSB(0,100,100),但其表达原理与RGB有本质不同。这种表达方式多用于绘图软件当中。

    另外还有一种较为常见的颜色系统——CMYK,这个与印刷有关。CMY是3种印刷油墨名称的首字母:青色[Cyan]、品红色[Magenta]、黄色[Yellow]。这三种色彩理论上能合成黑色,实际上只能得到深棕色,因此又加入了黑色Black,CMYK中的K即黑色,取用的尾字母,以避免和蓝色[Blue]混淆。这个颜色系统是针对印刷品而设计的。

    为什么要单独拿出一篇来说色彩的表达方式呢?因为在后面的篇幅当中,可能会涉及到图像的处理与合成,可能会出现类似于RGB(255,127,63)和#FF8533这样的“奇怪字符串”,你需要知道这代表了某种颜色。最后值得强调的是,不管哪种表达式,它最后返回的都是一个数值,这是数字图像的构成基础。在接下来的篇幅当中,我们会逐渐强化一个概念,这些色彩值是整数,而非小数,这个概念比较重要,为什么重要,我们会在后续的篇幅中一一说明。

    请评分
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    114.221.176.***
    114.221.176.***
    发表于2011.11.13 00:19:08
    32
    03
    发表于2011.11.13 00:01:39
    31
    03
    发表于2011.11.12 23:46:53
    30
    03
    发表于2011.11.12 19:41:53
    28
    03
    要么没有可以做测试的样本,要么没人愿意去做
    发表于2011.11.12 18:54:49
    26
    125.090.228.***
    125.090.228.***
    发表于2011.11.12 17:22:29
    23
    03
    归根结底,沉重的生活压力要求速食文化的泛滥,看看现在的流行乐坛。马上就要变成昨日黄花了
    发表于2011.11.12 17:17:27
    22
    123.119.***.***
    123.119.***.***
    看完了,只是觉得,“笔者”很能装b
    发表于2011.11.12 17:09:00
    21
    001.084.100.***
    001.084.100.***
    发表于2011.11.12 16:49:04
    20
    058.030.013.***
    058.030.013.***
    发表于2011.11.12 16:12:18
    19
    03
    只有小时候,就是小到只有印象的时候,听过一下子的LP,完全没有概念,只是觉得这东西真神奇。。

    开盘磁带在电视电影上面倒看多了,接触不了
    DAT只是改变了媒介,其实还是数字的
    发表于2011.11.12 14:14:57
    18
    03
    就如CD是使用44.1Khz采样率,用这个标准描述22.05Khz音频的时候,每秒的采样次数才2次,这是严重不够的!

    而LP可以假设地看成是“胶片”,是一个以物理的形式来转换声音的波形,而不是CD那样使用点阵来“模拟”波形
    发表于2011.11.12 14:10:49
    17
    03
    理论上不存在2张相同的LP碟吧?
    "从声音的保真度来说,LP唱片已经是近乎完美的产品了"这段没有理论支撑,不严谨.
    发表于2011.11.12 13:54:19
    16
    03
    只是对最后一句话不太赞同...其实不管音乐传播介质演变成了什么,听音器材的选择也不会因此而改变。要说为什么“我们听音乐的方式,现在就已经从音箱时代转变为耳机时代了。”的话,我个人倒觉得是因为今天日益拥挤的住房环境和高地价已经让越来越多的人没有合适的空间摆放音箱了。耳机技术的不断进步和它占地小,不打扰别人的优点在今天这个“寸土寸金”的环境下更具优势而已。
    发表于2011.11.12 13:49:33
    15
    114.247.010.***
    114.247.010.***
    发表于2011.11.12 13:46:58
    13