灰度CMYK像素

时间:2013-02-22 14:28:13

标签: colors rgb grayscale cmyk

我需要将CMYK图像转换为灰度CMYK图像。起初我以为我可以使用与RGB相同的方法 - >灰度转换,如(R + G + B)/ 3或max(r,g,b)/ 2 + min(r,g,b)。但不幸的是,这对CMYK来说很糟糕,因为CMY和K是多余的。黑色cmyk(0,0,0,255)将变为64.我应该使用

int grayscaled = max((c + m + y) / 3, k)

或者它可能更棘手?我不确定,因为CMYK实际上是一个冗余的颜色模型,并且可以用不同的方式编码相同的颜色。

1 个答案:

答案 0 :(得分:3)

有几种方法可以将RGB转换为灰度,所提到的通道的平均值就是其中之一。使用色彩空间Y中的YCbCr频道也是一种常见选项,以及来自L的{​​{1}}频道以及其他选项。

根据http://www.easyrgb.com/index.php?X=MATH中的公式,将LAB转换为CMYK很便宜,然后您可以使用众所周知的方法转换为灰度。假设范围[0,1]中的RGBcmy,我们可以将其转换为灰度亮度,如下所示:

k

另请参阅http://en.wikipedia.org/wiki/Grayscale了解有关此转换为灰度的更多信息。