1/3
2/3
3/3
RGB真的是最棒的色彩模型么?
KarlvonDonitz
2018年02月20日 17:08

      电脑现在好像不带灯光都感觉上lowB了很多是不是?

      所有的厂商生产电脑都得带点支持RGB的灯光,但是RGB真的是最好的么?

0x00 首先我们需要知道什么是RGB

       RGB的意思就是Red(红),Green(绿),Blue(蓝)。这就是所谓的三基色(请注意,这不是三原色,三原色是红黄蓝,属于美术的范畴,这3个颜色混合可以得到除了黑色和白色以外的颜色)。三基色之所以是这三种颜色的原因也是因为人眼有感知红、绿、蓝三种不同颜色的锥体细胞。

0x01  RGB怎么表示颜色

RGB表示的色彩范围

        既然我们都知道什么是RGB了,那么我们也可以很容易知道它是如何表达颜色。在计算机中通常规整化到[0,1]的浮点数,在使用8bit进行储存时,使用[0,255]内的整数来表达颜色。

0x02  我们看到的颜色

电磁波

        既然我们需要RGB来表现颜色,那么这些颜色也应该是我们肉眼可以看到的颜色了。我们肉眼可以看到的颜色,也就是光。不同的颜色对应不同的光。当然,光是一种电磁波。我们肉眼可以看到的可见光的波长就在400nm到700nm中。

0x03 然后就出问题了

颜色的组成

我们可以从图中看到在500nm左右红光的组成是负数的,这也就表明了,RGB的中R的数值需要是负数。好的!RGB中R的数值是负数。可是,[0,1]和[0,255]这两个数集中没有负数啊 !所以我们也可以知道按照之前定义所规定RGB组成的光是不完全的。

0x04 我们还有什么别的色彩模型么?

我再来说说几个比较常见的几个色彩模型CMY,HSV,CIE XYZ

CMY

   CMY(CYMK)这个常见于打印机的标准。CMY分别代表RGB对应的补色青(Cyan)、洋红(Magenta)和黄(Yellow)。为什么打印机是这个标准呢?我们都知道我们用的纸张都是白色的吧,那么请问,如果使用RGB的你需要打出黑色的字,你应该怎么混合颜色?而且CMY作为RGB的补色,他涂上去的颜色也就代表了吸收掉对应的补色。当然,更重要的是,RGB是三基色,而不是三原色。当然CMY和RGB之间的转换也很简单。

C=255-R

M=255-G

Y=255-B

 

HSV

  HSV其实是跟符合人类直观的颜色模型,所以画师可能会更习惯使用这个来作画。HSV对应色调(Hue),饱和度(Saturation),明度(Value)。这种颜色模型更称为六角锥体模型。这个和RGB之间的变换就相对麻烦一点。

HSV转换到RGB的公式

CIE 1931 XYZ颜色模型

CIE全称Commission Internationale de L'Eclairage,说白了就是国际照明委员会。这个玩意要说起来就可能要长篇大论了,感兴趣的盆友就去wiki看看吧(https://en.wikipedia.org/wiki/CIE_1931_color_space)。在下就给出他到RGB的变换公式。

变换公式

0x05 最后几句话

其实RGB在我们日常生活中已经足够使用了,其拥有的16777216种颜色还是够你看的了。

然后,我还是希望B站可以让我们可以输入数学公式,这样放图片好难受啊,强迫症无法忍受!!!