我想将颜色从 RGB 转换为色调和色调(色度和值)130 系统。我已经搜索过,但似乎没有直接的方法,并且没有可用的 python 库。一些参考文献说 RGB 应该首先转换为 sRGB,然后我们可以概括 Munsell(色度、值和色调)以从中得出色调和色调。另一种方法是我们应该将 RGB 转换为 XYZ,然后提取 Munsell 并用它来制作色调和色调版本。其他一些方法只是量化 RGB 直方图,并没有解释具体如何量化。有什么明确的方法可以做到这一点吗?如果有人知道请帮忙。
Python 中有一个非常好的颜色科学库,称为 Colour,通过它您将能够执行从 sRGB 到 Munsell 的转换。代码将是这样的:
import colour
def sRGB2Munsell(sRGB):
# sRGB is expected to have the following format: (R, G, B), where RGB values range from 0 to 1
# e.g: sRGB = (0.96820063, 0.74966853, 0.60617991)
C = colour.CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"]["C"]
Munsell = colour.xyY_to_munsell_colour(colour.XYZ_to_xyY(colour.sRGB_to_XYZ(sRGB, C)))
return Munsell
先在 Python 环境中安装该库,如下所示:pip install color-science
这里最主要的是要小心用于转换的光源常数,请阅读此内容以进行澄清 -> 颜色理论:如何将 Munsell HVC 转换为 RGB/HSB/HSL