Colors 将sRGB D65转换为CIELab D50
我想从SRGBD65转换到CIELab D50。我知道Bruce Lindbloom函数和计算器,但我只是想确定我的计算是否正确。 从sR/100、sG/80、sB/20和D65的值开始,以下工作流是否正确?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 >>>
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