Python| CMY 和 CMYK 颜色模型
RGB和HSV,文章中讨论了两种常用的颜色模型:RGB、HSV。在本文中,我们介绍了 CMY 和 CMYK 颜色模型。
青色、品红色和黄色是光的二次色和颜料的原色。这意味着,如果白光照射在涂有青色颜料的表面上,则不会反射任何红光。青色从白光中减去红光。与 RGB 颜色模型不同,CMY 是减法的,这意味着较高的值与较暗的颜色相关联,而不是较浅的颜色。
将颜料部署到彩色纸或其他表面的设备使用 CMY 颜色模型,例如打印机和复印机。从 RGB 到 CKY 的转换是一个简单的操作,如下面的Python程序所示。重要的是在转换之前将所有颜色值标准化为 [0, 1]。
C = 1 - R
M = 1 - G
Y = 1 - B
下面是将RGB转换为CMY颜色模型的代码。
# Formula to convert RGB to CMY.
def rgb_to_cmy(r, g, b):
# RGB values are divided by 255
# to bring them between 0 to 1.
c = 1 - r / 255
m = 1 - g / 255
y = 1 - b / 255
return (c, m, y)
# Sample RGB values.
r = 0
g = 169
b = 86
# Print the result.
print(rgb_to_cmy(r, g, b))
输出:
(1.0, 0.33725490196078434, 0.6627450980392157)
根据上面显示的色轮,等量的青色、品红色和黄色应该会产生黑色。然而,在现实生活中,结合这些颜料会产生浑浊的黑色。为了产生印刷时非常常用的纯黑色,我们在颜料混合物中添加了第四种颜色——黑色。这称为四色印刷。在此模型中添加黑色导致它被称为CMYK颜色模型。