色调到波长映射

Seg*_*ult 8 matlab colors image-processing

是否有算法在给定色调值(0度到360度)之间找出颜色的波长.MATLAB中是否有任何内置函数?

Jun*_*uxx 10

虽然Mark Ransom和Franco Callari是完全正确的,你无法恢复感知颜色的光谱,也没有明确地将色调值映射到波长,如果你只想要相应的单色波长,你肯定可以拼凑一些东西.

色调周期270到360之间的部分是另一个问题.在光谱中没有与品红色相对应的东西,所以我们假设我们只使用0到270之间的色调值.

估计可见光谱的可用部分是450-620nm,波长L(以nm为单位)和色调值H(以度为单位),您可以即兴发挥:

 L = 620 - 170 / 270 * H
Run Code Online (Sandbox Code Playgroud)

620是最大波长,170是波长范围,270是色调范围.

我认为这应该是正确的方向,但我只检查了4或5种颜色.您可以比较输入色调可见光谱图上的相应颜色,然后稍微调整值,从而获得更好的结果.

  • @AkshayHazari:你可以查看我在任何物理教科书中使用的数字.至于配方本身,不,我只是弥补了.但我解释了我是如何得出它的. (2认同)

Fra*_*ari 2

简短的回答:不。给定的色调通常可以由三重无限波长产生。

“物理颜色”是纯光谱颜色(在可见光范围内)的组合。原则上,存在无限多种不同的光谱颜色,因此所有物理颜色的集合可以被认为是无限维向量空间希尔伯特空间)。该空间通常标记为 H颜色。从技术上讲,物理颜色的空间可以被认为是单纯形上的拓扑锥体,其顶点是光谱颜色,白色位于单纯形的质心,黑色位于锥体的顶点,以及与任何颜色相关的单色。给定顶点沿着从该顶点到顶点的线的某处,具体取决于其亮度。

。。。

该系统意味着,对于不在色度图边界上的任何色调或非光谱颜色,存在无限多个不同的物理光谱,它们都被感知为该色调或颜色。因此,一般来说,不存在我们认为是特定版本的棕褐色的光谱颜色组合。相反,有无限多种可能性可以产生确切的颜色。纯光谱颜色的边界颜色只能在响应于纯粹相关波长的光时被感知,而“紫色线”上的边界颜色只能由纯紫色和紫色的特定比例生成。可见光谱颜色末端的纯红色。

CIE色品图是马蹄形的,其弯曲边缘对应于所有光谱颜色(光谱轨迹),其余直边缘对应于最饱和的紫色、红色紫色的混合。

来源

  • 你能解释一下这句话吗? (2认同)