【发布时间】:2012-08-27 17:25:36
【问题描述】:
是否可以从 RGB 表示中获得颜色的光频率?我找到了相反的过程 [1],但我不知道这是否可能。
【问题讨论】:
标签: algorithm colors physics rgb frequency
是否可以从 RGB 表示中获得颜色的光频率?我找到了相反的过程 [1],但我不知道这是否可能。
【问题讨论】:
标签: algorithm colors physics rgb frequency
AFAIK,没有直接的答案,因为多个波长可以组合产生相同的颜色,对吗?因此,您拥有映射到纯色的波长,然后它们的组合可以产生许多其他相同的颜色。并且有几种组合可以提供相同的颜色。这是因为干扰。所以你本质上是在要求一对多的映射。
回答您的问题:没有固定的公式。反向公式将为您提供一个范围。这是它所能得到的最好的。
【讨论】:
也许Javascript - Sort rgb values可以帮到你。
但问题是波长光谱看起来像
你可以将 RGB 转换为 HSL,但是 HSL 光谱看起来像
然后,由于波长光谱不具有所有颜色,例如粉红色,因此存在问题。
我猜那是因为自然界中不存在粉红色,它是光谱中相反极端颜色的组合。但我们有 RGB。
【讨论】:
【讨论】:
查看链接所指的 C 程序,只有 81 个不同频率的 color_match 值 - 这些似乎是链接中图 3 边缘周围的标记频率。因此,如果您知道您的 RGB 信息是针对一种频率的纯光,您可以计算出这些值中的每一个的 RGB 信息,并查看它最接近的匹配 - 可能在缩放一个或另一个以使亮度匹配之后。
当然,问题在于您的 RGB 值可能来自不同频率的混合光。在这种情况下,您将得到一个来自图 3 内部的点 - 它不会接近外部的任何值(因此至少您将能够判断出存在问题)并且会有是可能产生它的大量可能的频率集 - 这些对应于图表外部点的加权平均值,平均起来产生内部点。
【讨论】: