美文网首页
光与颜色

光与颜色

作者: 梧叶已秋声 | 来源:发表于2020-05-20 15:11 被阅读0次

    这几天在看openGL(这里不讨论open gl中的光,我没有弄懂),对于光与颜色存在疑惑。
    先来看看光与颜色的概念。

    出处:
    光是一个物理学名词,其本质是一种处于特定频段的光子流。光源发出光,是因为光源中电子获得额外能量。如果能量不足以使其跃迁到更外层的轨道,电子就会进行加速运动,并以波的形式释放能量。如果跃迁之后刚好填补了所在轨道的空位,从激发态到达稳定态,电子就不动了。否则电子会再次跃迁回之前的轨道,并且以波的形式释放能量。

    出处:OpenGL中的光照系列之一[基本理论]
    什么是颜色
    颜色只是某种波长的光,能够被肉眼看到。在高中物理中我们知道光分为很多类型,包括可见光、红外线、紫外线、X射线等,我们眼睛可以接受的只是其中某个波段的光,下图是可见光的波普范围:

    image.png
    当一个物体我们说它是红色时,实际上它并不是红色,它只是反射红色的光(而吸收了其他颜色的光),这样我们眼睛接受到的都是红色的光,让我们觉得它是红色的。如果我们使用绿色的光去照射它,那么我们实际上什么也看不到(因为绿色的光都被物体吸收了),许多魔术师都用这种方式来“欺骗”我们的眼睛。

    总而言之,只有是物理意义上存在的事物,颜色在物理上并不存在,颜色其实也是人类定义出的概念,只是人类对于事物的感知,然后人类定义了一些模型,例如RGBHSV,用于对颜色进行编码解码(编码和解码只是将数据从一种形式转换成另一种形式的过程)。RGB或HSV的使用,是一个计算公式的使用。这个关系就类似于下面。
    例如有2个方程式(这里类比RGB与HSV模型),你需要计算一个数据c (c就想象成颜色)。
    方程式1 :c = x + y + z (想象成RGB模型)
    方程式2 :c = x² + y² + z²(想象成HSV模型)

    要想使c = 1(描述同一种颜色),2个方程式都可以做到,只是x、y、z的值不同。
    把方程式简化一下,减少变量,就可以变成下面的方程式。
    y= x
    y= x²
    这里回顾一下y = x与y = x²这2个方程的函数图形,一个是直线,一个是曲线,如下所示。

    https://books.google.com/books?id=9AX50PZMzp8C&lpg=PA4&ots=TV0SU_0u1k&dq=y%20%3D%20x%20%20%E6%AD%A3%E6%AF%94%E5%87%BD%E6%95%B0%E5%9B%BE%E5%BD%A2&hl=zh-CN&pg=PP1#v=onepage&q&f=false

    这些模型都是人类发展史中发现的,例如CIE协会通过实验,得出的1931 CIE-RGB模型,并且其他科学家也发表了一些模型(例如1978年由埃尔维·雷·史密斯创立的HSV),人类在多个领域(例如印刷、计算机、影音等)应用了这些颜色模型。

    下面为Android中color使用rgb编码,解码的公式。
    编码
    int color = (A & 0xff) << 24 | (R & 0xff) << 16 | (G & 0xff) << 8 | (B & 0xff);
    解码

    int A = (color >> 24) & 0xff; // or color >>> 24
    int R = (color >> 16) & 0xff;
    int G = (color >>  8) & 0xff;
    int B = (color      ) & 0xff;
    

    更多可参考这里:Color

    最后,还有一个通道的概念。

    出处:计算机视觉基础——数字图像与颜色空间
    对于一张彩色数字图片,我们通常会将它表成一个H×W×C的3维矩阵。其中,H表示图片的宽,W表示图片的高,C表示图片的通道数。H×W描述的就是图片的分辨率,也就是像素点的个数。对于每一个像素点,都会表示一个颜色,用一个C维的向量描述。
    C也就是channel的含义。

    出处:为什么要了解图像深度和通道数
    灰度图像只有1条通道来表示图片
    BGR图像只有3条颜色通道,R(red,红色)通道、G(green,绿色)通道、B(blue,蓝色)通道。
    而4通道数的图片也就是BGRA,A为alpha通道。

    参考链接:
    OpenGL中的光照系列之一[基本理论]
    为什么颜色都用三维向量表示?
    色彩空间基础
    (11)1931 CIE颜色系统《颜色-不是你想象的那样》
    深入理解color model(颜色模型)
    计算机视觉基础——数字图像与颜色空间
    为什么要了解图像深度和通道数

    相关文章

      网友评论

          本文标题:光与颜色

          本文链接:https://www.haomeiwen.com/subject/cdugohtx.html