Colors 将sRGB D65转换为CIELab D50

Colors 将sRGB D65转换为CIELab D50,colors,Colors,我想从SRGBD65转换到CIELab D50。我知道Bruce Lindbloom函数和计算器,但我只是想确定我的计算是否正确。 从sR/100、sG/80、sB/20和D65的值开始,以下工作流是否正确? sRGB D65->XYZ->Bradford色度适配到D50->CIE Lab D50=34.99,0.51,31.35。您的实现中的色度适配部分有一些不起作用 使用和手动转换: 导入颜色 >>>将numpy作为np导入 >>>RGB=np.数组([100,80,20])/255 >>>

我想从SRGBD65转换到CIELab D50。我知道Bruce Lindbloom函数和计算器,但我只是想确定我的计算是否正确。 从sR/100、sG/80、sB/20和D65的值开始,以下工作流是否正确?
sRGB D65->XYZ->Bradford色度适配到D50->CIE Lab D50=34.99,0.51,31.35。

您的实现中的色度适配部分有一些不起作用

使用和手动转换:

导入颜色 >>>将numpy作为np导入 >>>RGB=np.数组([100,80,20])/255 >>>D50=颜色。CCS_光源['cie_2_1931']['D50'] >>>XYZ=颜色。sRGB_至_XYZ(RGB,光源=D50) >>>打印(颜色XYZ到实验室(XYZ,光源=D50)) [ 35.31471609 3.63177851 37.28158403] 以及自动颜色转换图:

颜色转换(RGB,'sRGB',CIE实验室',光源=D50)*100 数组([35.31471609,3.63177851,37.28158403] 以及一种不使用
color.sRGB\u to_XYZ
定义且似乎与您的定义匹配的替代路径:

颜色转换(RGB,‘输出参考RGB’,‘CIE实验室’,光源=D50,详细={'mode':'short'})*100 =============================================================================== * * *[转换路径]* * * *“cctf_解码”->“RGB_到_XYZ”->“XYZ_到_实验室”* * * =============================================================================== 数组([34.99753019,0.50577795,31.35732344]) 这里发生的情况是,从RGB到CIE XYZ三刺激值的转换不会在D65和D50之间执行任何颜色自适应,因为
发光体
参数与
color.RGB_到XYZ
定义不匹配。正确的方法是为RG指定
发光体
B侧,尽管CIE XYZ侧默认为D65和
发光体XYZ

>>color.convert(RGB,'输出参考RGB','CIE Lab',发光体_XYZ=D50,发光体=D50,详细={'mode':'short'})*100
===============================================================================
*                                                                             *
*[转换路径]*
*                                                                             *
*“cctf_解码”->“RGB_到_XYZ”->“XYZ_到_实验室”*
*                                                                             *
===============================================================================
数组([35.31471609,3.63177851,37.28158403])
现在我们匹配预期的转换结果。下面是详细的转换,以便您可以检查中间值:

颜色。转换(RGB,'输出参考RGB','CIE Lab',RGB_to_XYZ={'illuminant_XYZ':D50},XYZ_to_Lab={'illuminant':D50},详细={'mode':'Extended'})*100 =================================================================================== * * *[转换路径]* * * *“cctf_解码”->“RGB_到_XYZ”->“XYZ_到_实验室”* * * =================================================================================== =================================================================================== * * *[“cctf_解码”]* * * *[签名]* * * * * * * *[文件]* * * *将非线性:math:`R'G'B`值解码为线性:math:`RGB`值,使用* *给定解码颜色分量传递函数(解码CCTF)* * * *参数* * ---------- * *值:数字或类似数组* *非线性:数学:`R'G'B`值* *功能:unicode,可选* *{:attr:`color.CCTF_DECODINGS`* *计算功能* * * *其他参数* * ---------------- * *\**kwargs:dict,可选* *关键词相关解码CCTF的参数* *:a