当我将黑色 ( rgb(0,0,0)
) 转换为LAB并再次返回时,它显示为19, 0, 10
.
是否有修改后的公式可以扩展 Lab 颜色空间以进行 1:1 转换?如果没有,是否有任何其他色彩空间保持“这些值中相同数量的数值变化对应于大致相同数量的视觉感知变化”的属性?
我想在一些图像上运行 k-means 聚类,它在实验室空间中效果更好。
而且它似乎没有得到积极的维护。
FWIW,当您查看价值观时,请记住:
sRGB 0,0,0 = linearRGB 0.0,0.0,0.0 = XYZ 0,0,0 = Lab 0,0,0
(所有空格 0,0,0)
sRGB 255,255,255 = linearRGB 1.0,1.0,1.0 = XYZ 0.9505,1.0,1.0888 = Lab 100,0,0
(sRGB 为 D65,假设 D65 2° 观察者)
sRGB 119,119,119 = linearRGB 0.1845,0.1845,0.1845 = XYZ 0.1753,0.1845,0.2009 = Lab 50.03,0,0
(使用 BruceLindbloom 矩阵)
更正确的代码可以在这里找到:
https://www.easyrgb.com/en/math.php
但是,此代码不是 javascript — 此站点上的代码是伪代码,因此需要对其进行修改(即您需要使用 Math.pow 而不是 ^ )
这里有一个很好的基于 Python 的库,并且它得到了积极的维护:
https://github.com/colour-science/color
实际的数学和讨论可以在 Bruce Lindbloom 的网站上找到:
http://www.brucelindbloom.com/index.html?Math.html
他还有一些可能对您有帮助的 JS 颜色计算器。
很高兴回答其他问题,让我知道...