You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何近似获取555nm可见光对应的P3-RGB值?

近似模拟555nm可见光的P3-RGB值

核心思路

555nm是可见光中最亮的绿色波长,要得到其P3-RGB值,需通过CIE色彩空间转换:先获取该波长对应的标准CIE 1931 xyY值,再转换为Display P3色域下的RGB值,最后做色域裁剪/归一化处理。

步骤1:获取555nm的CIE 1931 xyY参数

对于555nm单色光,标准CIE参数为:

  • x = 0.3285, y = 0.6550(色度坐标)
  • Y = 1.0(亮度取最大值)

转换为XYZ色彩空间:

X = x * Y / y ≈ 0.3285 / 0.6550 ≈ 0.5015
Y = 1.0
Z = (1 - x - y) * Y / y ≈ 0.0165 / 0.6550 ≈ 0.0252

步骤2:XYZ转Display P3线性RGB

使用Display P3(D65白点)的官方转换矩阵,将XYZ转换为线性RGB:

[R]   [ 2.49349691  -0.93138361  -0.40271078 ] [X]
[G] = [-0.82948896   1.76266406   0.02362469 ] [Y]
[B]   [ 0.03584583  -0.07617232   0.95688457 ] [Z]

代入XYZ值计算:

  • R ≈ 2.49350.5015 - 0.93141 - 0.4027*0.0252 ≈ 0.308
  • G ≈ -0.82950.5015 + 1.76271 + 0.0236*0.0252 ≈ 1.347
  • B ≈ 0.03580.5015 - 0.07621 + 0.9569*0.0252 ≈ -0.034

步骤3:色域裁剪与伽马校正

计算后G通道超过线性RGB的最大值1.0,B通道为负,需做色域映射:

  1. 先将负通道置0:B = 0

  2. 归一化G通道到1.0,同时按比例调整R:

    • 缩放比例 = 1.0 / 1.347 ≈ 0.742
    • 调整后线性R ≈ 0.308 * 0.742 ≈ 0.229
    • 线性G = 1.0
    • 线性B = 0
  3. 应用P3的伽马校正(γ≈2.2,与sRGB规则近似):

    R = pow(0.229, 1/2.2) ≈ 0.536 → 8位值:0.536*255≈137
    G = pow(1.0, 1/2.2) = 1.0 → 8位值:255
    B = pow(0.0, 1/2.2) = 0 → 8位值:0
    

最终近似值

  • 8位P3-RGB:(137, 255, 0)
  • 浮点P3-RGB(0-1范围):(0.537, 1.0, 0.0)

补充说明

  • 这个结果是近似值,因为555nm单色光的真实色度在Display P3色域内,但超出了线性RGB的范围,所以做了归一化处理;
  • 若需更精确的结果,可使用专业色彩管理库进行转换,避免手动计算的误差。

内容的提问来源于stack exchange,提问作者Adler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 16:30:00