algorithm - 在CIEXYZ到CIELUV的转换中, `u'`, `v'`, `u' ₙ`, ` v' ₙ`, and ` Yₙ`是什么?

标签 algorithm physics color-space cieluv

我最近一直在研究色彩空间和色彩模型。我对不同空间之间的关系和转换产生了兴趣,我遇到了CIEXYZCIELUV .

conversion algorithm , CIELUV 文章提到变量 u' , v' , u'ₙ , v'ₙ , 和 Yₙ .我了解这些与 white point 有关(其中可以找到一个常用值表 here ,)但我不确定它们之间的关系是什么。

在文章中,它说:

For example, for the 2° observer and standard illuminant C, u'ₙ = 0.2009, v'ₙ = 0.4610

(2°观察者和标准光源C的值可以在上面提到的表格中找到,并给出为x₂ = 0.31006y₂ = 0.31616。)

在此之下,计算方程 u'v'给出:

u' = (4x)/(-2x + 12y + 3)

v' = (9y)/(-2x + 12y + 3)

如果我们插入 x₂y₂我们已经给出了,我们得到了 u' = 0.2009 的预期结果和 v' = 0.4610 .然而,在文章的前面,它说 u'ₙv'ₙ应该是那些推崇的值(value)观。 u'v' .

另外,这篇文章没有提到 Yₙ除了说明它是 (u', v') 的亮度之外色度坐标,我找不到的信息。

所以,我的问题是,u' 到底是什么? , v' , u'ₙ , v'ₙ , 和 Yₙ ?假设u'v'是目标色度和 u'ₙv'ₙ是源色度(反之亦然),那么如果目标和源相同,则主要转换算法将毫无意义,因为结果 u*v*等于 0 .如果有人能为我阐明这一点,我将不胜感激。谢谢。

最佳答案

您计算了白点的u'v',这是根据定义u'ₙv'ₙ 。这些是不变的。电脑屏幕 (sRGB)、HDTV (Rec.709)、电影院等都有自己特定的白点。您应该决定它,并为转换保持不变。

Yₙ 是白点的亮度。这取决于电视的设置。功率越大,白点就越发光。可能您应该将其设置为 1.0(或 100,或最大数字值)。您会看到 L*u*v*Yₙ 成反比。这只是用于将 L 规范化为 100(在 Wikipedia 转换的情况下)。所以你应该把它作为最大 Y,或者白色的亮度 Y(如果你有超白,就像在 HDTV 中)。

CIEXYZ(您的初始空间,以及转换之间要使用的最常见的“公共(public)”空间)刚刚定义了XYZ(或 xyz 或更常见的 xy , )。这些值表示眼睛灵敏度(实际上是线性变换,只是为了具有正值,他们后来发现了精确的坐标(LMS 颜色空间),因此它们与白色空间无关(因此您没有白色参数),但这也意味着明确定义的色度(x, y)可以看作是不同的颜色,根据实际的颜色适配。

我做空(维基百科的逆序)。

  • 根据 CIEXYZ(线性空间),您有一个点的 xyY。 x 和 y 是色度。 Y 是亮度。

  • 您转换为 u'v'(现在只是色度,也只是在函数中转换为 xy).

  • 最后一步是 Gamma 校正,因此您从线性空间转换为感知函数,所以您得到L*u* , v*.

维基百科正在混合颜色模型(例如 RGB,以及从 RGB 到/从 RGB 的一般转换)与颜色空间(sRGB [正常的“网络颜色”空间],这是一个 RGB 模型,具有明确定义的红色、绿色、蓝色和白色色度,以及明确定义的 Gamma 函数)。对于您的特定 Luv 颜色空间,您应该将带有 N 下标的变量视为预定义常量。

关于algorithm - 在CIEXYZ到CIELUV的转换中, `u'`, `v'`, `u' ₙ`, ` v' ₙ`, and ` Yₙ`是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49414049/

相关文章:

math - 由于重力问题,利用时间来提高速度(无法获得完美的弹性)

opencv - 使用 openCV 的 Bayer 到 HSV

algorithm - 如何判断一个数是不是6的倍数?

java - 从文本文件中按单词查找最长的句子

具有非加权、双向边和具有流容量的节点的流解析算法的 C 实现

math - 在软件工程中,是否要求你擅长数学或物理?

algorithm - "cut-and-paste"证明技术是什么?

physics - 两个移动四面体之间的连续碰撞检测

ios - 色彩空间匹配 iOS

c++ - 使用 ycbcr 格式捕获相机图像