寻找屏幕无法呈现的颜色

Hacker News Top 新闻

摘要

文章解释了屏幕无法显示某些真实世界中的颜色,尤其是青色,这是由于RGB色彩空间和人类视锥细胞反应的局限,并描述了如何在自然界中找到这些颜色。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/20 14:23

# 去哪里寻找你的屏幕无法显示的颜色 来源:https://moultano.wordpress.com/2026/06/19/where-to-find-the-colors-your-screen-cant-show-you/ 有些颜色我想展示给你看,但我做不到。它们存在于现实世界中。你今天可能见过其中一些,但我无法在屏幕上展示给你。数码照片捕捉不到它们,你的屏幕也显示不出来。你玩过的任何游戏里都不曾有过它们。除非你有专门设备,否则它们完全不存在于数字世界中。 它们大多是青色。在屏幕上,我们过着一种极度匮乏青色的生活。当你亲眼看到青色时,那种冲击感是令人震惊的。它们看起来陌生而强烈,带着一种超凡脱俗的特质。我希望你能体验那种感觉,但再说一遍,我无法展示给你看。相反,我必须教你如何在现实世界中找到它们。 ## “你听起来像个疯子,你到底在说什么?” (如果你已经熟悉色彩空间和CIE色度图,可以跳到下一节。) 光由波长组成,其波长集合称为光谱。你的眼睛有三种不同类型的视锥细胞用于感知颜色,每种细胞对不同波长的反应不同。重要的是,你眼睛里的细胞**并不记录它们看到的是什么波长**。它们只能以某种强度做出反应或保持沉默。你的大脑关于世界颜色的所有判断,都来自于对比这些细胞反应的强度。 本质上,你的视锥细胞所能做的就是向你的大脑喊叫。每个细胞醒来后以不同的音量向你的大脑喊叫,仅此而已。你的大脑可用于感知颜色的全部信息,就是每个细胞喊叫的音量有多大,并且必须仅凭这些信息来重建整个彩虹。 一个直接后果是:任何两个能让你的视锥细胞以相同模式喊叫的光谱,对大脑而言是无法区分的。即使这些光谱包含完全不同的光波长,对你来说它们看起来也是同一种颜色。你实际上并没有直接看到光。你看到的是你的视锥细胞喊叫的音量。 假设彩色屏幕还不存在,而你正试图首次设计一个。我们只有三种不同的视锥细胞这一事实看起来会非常方便。如果你能弄清楚如何独立操控这三种视锥细胞,那么你的屏幕就能让任何看它的人看到人类能看到的任何颜色。它是否展示真实物体的真实光谱并不重要。重要的是屏幕能操控人类的视锥细胞,并让它们以不同的音量向人类大脑喊叫。如果你能做到这一点,你就解决了整个问题。你可能会注意到三种视锥细胞和三种原色之间可疑的巧合。这不是巧合。 1931年,CIE(国际照明委员会)着手描述人类色彩视觉的整个空间。他们绘制了这张图。 这张图的外缘展示了人类能看到的所有单个波长的光。在该外缘包围的空间内,是所有可以通过这些波长的混合产生的颜色。这张图中的点按线性方式组合,所以如果一种颜色位于两个波长之间,你就可以通过混合这两个波长来得到这种颜色。 在这张图上,他们标记了三个光波长作为原色,而位于这些原色三角形内部的任何颜色都可以通过混合它们得到。这些原色的目标是操控你的视锥细胞,他们选择这三种原色,是因为每种原色对其中一个视锥细胞的操控程度大于对其他两个的操控。这让你对人的眼睛有相当好的控制力。你几乎能让他们看到任何颜色,但并非完全如此。 你马上就能看到问题所在。有一大块绿色/青色/蓝色的区域无法通过混合他们选择的原色来产生。绿色和蓝色原色会让你的某个视锥细胞喊叫得比它应该的更大。这在混合原色以产生每个波长的图表上可以清晰看到。要制造出足够青、成为我们能看到的最青的东西,你需要有负的红色。负的红色并不存在。 但等等,情况更糟。为了分离出纯净的单一波长光,CIE使用了棱镜来散射光,然后用窄缝来选取一小段纯净波长的光,这种设备称为单色仪。这必然是一个又大又重的设备,会浪费大部分光,绝不是你想随身携带在口袋里当屏幕的东西。到了发明彩色电视的时候,他们没用单色仪,而是用了荧光粉。荧光粉不会在纯净波长处发光,所以没有物理方法能将彩色电视的原色推到色度图的边缘。由于当时能制造出的荧光粉的限制,我们最终得到了这个。 坦白说,这颜色实在不多。如今我们拥有了种类多得多的发光技术。我们有LED、有激光。我们现在可以做得更好。但CRT显示器使用的显示技术与彩色电视相同,既成标准就是标准,大多数使用颜色的应用都被困在那个小窗口里。这被称为sRGB色域。标准PC显示器、基本上整个互联网,以及大众市场摄影都生活在sRGB中。对本文至关重要的一点是,我用来制作图表的matplotlib库只支持sRGB,所以这些图表中无法表示任何超出其范围的颜色。苹果公司觉得这还不够好,于是稍微改进了一下。 这个略宽一些的三角形如今基本上成为所有智能手机屏幕的标准,无论制造商是谁,所有Mac电脑和大多数智能手机照片也是如此。至于你在屏幕上观看的内容是否真的用到了完整色域,则是另一个问题,取决于从源头到你眼睛的整个链条中是否都保留了色彩空间。 让我们失去青色的不仅仅是我们的屏幕,还有我们的灯光。不幸的巧合是,屏幕无法再现的那些颜色,同样也是LED照明难以再现的。白光LED通常由蓝色LED和黄色荧光粉制成,而青色正好落在两者之间的缺口处。高显色指数(CRI)灯泡通过添加几种不同的荧光粉来改善这一点,但青色仍然是它们发射光中最低的部分。 仅仅离开屏幕还不够,你还必须走到户外。让我告诉你该去哪里。 ## 色彩图集 ### 天然滤镜 当你正常光线下看一株植物时,它的叶子几乎总是在sRGB三角形内。植物是绿色的,但它们并没有**那么**绿。它们的叶子吸收了大量蓝光和红光,但还不至于将我们推到色彩空间的边缘。魔法发生在落叶林中,此时光线不仅仅是反射,还会透射。叶子的透射曲线比反射曲线选择性高得多,所以穿过叶子看到的颜色比从叶子表面反射的颜色饱和得多。你可能亲身注意到过这一点。被阳光照射的叶子从上面看相当普通,但从下面看,它会发光。 光一次穿过叶子就会滤掉所有蓝色和一半红色,但光线还会继续前进,穿过其他叶子,再反射到其他叶子上。这些效果呈指数级叠加。光线与叶子相互作用次数越多,它就越被纯化到其光谱峰值附近,大约在550纳米。你会看到的所有颜色,都是由反复反射和反复透射的路径所勾勒出的那片区域中包含的所有绿色和黄色。一片绿叶,被透过另一片叶子的光照亮一次,就已经超出了sRGB色域,比绿色还要绿。 当你盛夏正午伫立在一片枫林中时,那种绿色的浓郁程度难以形容。置身于光线充足、枝叶繁茂的落叶林,就像浸没在绿色水中,这让我们进入下一个主题:水。 水强烈吸收红色,缓慢吸收绿色,几乎不吸收蓝色。这种模式几乎立刻就会将任何含有蓝色和绿色的光谱推出sRGB色域。当你观察海岸附近浅水中的沙子时,随着水深变化,它会在色彩空间中描绘出一条曲线。太阳光先穿过水层向下,被沙子反射,再向上穿过水层进入你的眼睛,在这个过程中光线被过滤了两次。白色或黄色的沙子会首先转变为无法表示的青色,然后是无法表示的蓝色,最后在海水很深很暗时,再次收敛到接近sRGB的蓝色原色。 但如果我们把水和森林结合起来呢?野外的水不仅仅是纯净水,里面有很多微小的生物,而这些小家伙大多进行光合作用。它们和叶子一样是绿色的。真正的水就像纯净水和森林的混合物,水中浮游植物的密度决定了随着水深增加光谱的路径。 当你从上方观察时,水本身及其中的粒子对光的散射开始主导沙子的颜色。颜色能达到的饱和深度是有限的,因为在深水中,你主要看到的是仅通过水顶层反射回你眼睛的光。 就像在森林中一样,真正的魔法发生当你进入它内部,当你潜入水中的时候。如果你身处深水之中,你已经越过了散射层,所以水和浮游生物可以在光到达你所在深度之前,反复将其过滤到它们共同的光谱峰值。这样你几乎可以填满整个色域,但BBC在《蓝色星球》中无法向你展示这一点。它比视频能捕捉到的更加生动。水下摄影师经常使用滤镜来阻挡蓝色,这样整个场景就不会仅仅因为传感器限制而丢失细节。这些强度的蓝色和绿色对地面世界来说大多未知,甚至超出了我们语言描述的能力。 注意这些过程的共同点。为了到达色彩空间的边缘,它们必须反复过滤光线。大多数天然材料在反射方面并非如此具有选择性,以至于它们的颜色中不包含色彩空间另一侧的任何光线,而那种相反光线会将颜色拉向中心。只有通过多次施加这种过程,颜色才能被纯化。然而,自然界中有些过程能够一次性完成这种过滤,最常见的是在鸟类身上。 ### 鸟类、蝴蝶与结构色 如果我是为鸟类写这篇文章,那么反过来写会更简短:即屏幕能显示的鸟类颜色少得可怜。屏幕是为我们哺乳动物的眼睛设计的,而不是为了鸟类;而哺乳动物,所有哺乳动物,几乎都看不到颜色。我们是白垩纪时期那些微小的夜间蹿行生物的後裔。我们的感官随之适应。我们有出色的嗅觉,良好的暗光视觉,但我们失去了大部分色彩视觉。在夜晚,当几乎没有光子可利用时,区分光子的波长实在不值得。还不如不加区分地吸收任何能进入眼睛的稀少光子。只有灵长类动物重新进化出了区分红色和绿色的能力。老虎是橙色的,因为它们的首要猎物——鹿,无法区分老虎的橙色和草的绿色。在这两种颜色中,橙色更容易被黑色素制造出来,而对鹿来说,橙色和绿色都是草的颜色。 然而,鸟类是统治白昼的大型恐龙的后代,它们的眼睛完美适应了太阳光谱。它们视锥细胞的峰值灵敏度在光谱中均匀分布。它们甚至有一个独立的视锥细胞来感知紫外线,这使得它们**完全饱和的色彩空间是三维的**。你无法在平面图像上为鸟类制作色度图。你需要制作一个色度体积。为人类制造的屏幕甚至无法近似模拟鸟类的视觉。对鸟类来说,它会像只有一种颜色的黑白世界。 《侏罗纪公园》中著名的T-Rex场景完全不合理。或许可以通过声称霸王龙在弱光下视力差来挽救它——这是哺乳动物的竞争优势——但我们也知道,霸王龙的眼球是动物王国中最大的之一,比猫头鹰的大得多。 鸟类色觉质量高,这给了鸟类比哺乳动物更多进化出鲜艳颜色用于展示的理由。如果哺乳动物进化出鲜艳颜色,大多数其他哺乳动物也看不到。 为了制造浓烈的黄色、橙色和红色,鸟类使用与使西红柿或胡萝卜(同名)呈现相同颜色的化学物质——类胡萝卜素。动物自身无法合成它们,所以鸟类将其从饮食直接转移到羽毛上,有时在途中仅通过少量新陈代谢改变其颜色。然而,为了制造蓝色和绿色,鸟类使用了完全不同的策略,这也是鸟类颜色如此浓烈的另一个原因。羽毛也有更多种类的工具来制造颜色。 我们倾向于将光视为一种弥漫的均匀场,或者一种抽象概念(如果我们考虑它的话),但真实的物理光有一个长度,而且这个长度并没有你想象的那么小。你能看到的光波长范围大约从0.5到0.75微米,大约是蜘蛛丝直径的十分之一,或者保鲜膜厚度的二十分之一。光很小,绝对是微观的,但仍然与实际事物的大小相当。 光的长度决定了光能“容纳”在哪里。任何自然界中具有大约这个尺度图案的事物,都能以物理方式(不仅仅是化学方式)与光相互作用。你在肥皂泡的彩虹或油膜中见过这种现象。液体摊得极薄,薄到足以与光的长度发生物理相互作用。厚度的微小变化会改变它相互作用的颜色,这就是你从中得到彩虹的方式。这就是鸟类制造一些最浓烈颜色的方式,尤其是在蓝色/绿色光谱部分。 羽毛基本上是分形的毛发,就像一根头发上长出头发,那根头发又长出头发,然后那根头发又长出头发。它们有层层叠叠的毛发,深达四层。第一层毛发是羽轴,即羽毛的柄。第二层毛发是羽支,从羽轴横向伸出,是肉眼能清晰看到的最小部分。羽小支从羽支两侧延伸出来,并相互啮合,利用第四层甚至更小的毛发——羽纤支——作为钩子,在梳理时相互勾连。 羽支本身太厚,难以单独与光进行复杂互动,但羽小支的厚度几乎正好合适。具有平坦全向颜色(如蓝松鸦)的鸟类,通过在其羽支内部填充宽度为半波长的气泡来制造颜色。而具有虹彩颜色(如蜂鸟或孔雀)的鸟类,则在其羽小支中通过堆叠相隔半波长的深棕色吸收性黑色素薄层来制造颜色。大小合适的光能避开棕色层,但更大或更小的光则会撞上并被吸收。 虹彩颜色往往是最饱和的结构色。要让一种结构对波长具有选择性,

相似文章

看到一种新颜色意味着什么?

Hacker News Top

探讨了通过刺激视网膜中的单个视锥细胞来看到新颜色的可能性,这是基于计算机科学家 Ren Ng 与视觉科学家 Austin Roorda 的合作研究。

白光的颜色

Hacker News Top

文章解释了RGB彩色摄影中的不准确性,并详细说明了DIY光谱仪的构建以分析光谱,解决了日常生活中常见的颜色匹配问题。

量化色彩

Hacker News Top

本文探讨了如何通过物理测量光波长来量化颜色,以实现显示器上的精确颜色再现,涵盖了历史命名挑战和科学原理。

Amiga 屏幕入门

Lobsters Hottest

本文介绍了Amiga计算机上屏幕的概念,解释了它们如何使用原始的OCS、ECS和AGA芯片组处理不同的分辨率、颜色深度和位平面。