颜色模型简介: RGB与HSV, CMYK相互之间转换公式整理

时间:2024-04-06 18:41:29

RGB, CMYK, HSV颜色空间简介

  • RGB

RGB,R红色,G绿色,B蓝色,适合计算机使用与人的视觉感知习惯不太相符。SHV(SHB,饱和度S/色度H/亮度B)更符合人的视觉习惯

  • CMYK

CMY(K): C青色,M洋红,Y黄色,K黑色。最佳打印模式,相减混色,处理四个通路。RGB和CMY可以相互变换(RGB/CMY归一化到1),但RGB颜色和CMYK颜色不能一一对应,存在黑色部分的替代取值问题

  • HSV

HSV对人来说是最直观的颜色模型,H色相,物理意义是光的波长,不同光的波长呈现不同的色相。在HSV模型中,H是光谱颜色在首位相接的颜色环中的角度位置(0~360度),每一种颜色和它的补色相差180度。S是饱和度,S的范围是[0,1],0代表灰色,1代表白光。S的物理意义是一束光可能有很多种不同波长的单色光构成,如果光的波长成分越多,则纯度越低(白光),如果只有单色,则表示色彩的纯度很高。V表示色彩的明亮程度,范围[0,1],增加可以减小V(亮度),增加白色可以减小S(饱和度)。

V=1,S=1是对应于HSV圆锥模型的顶面圆周,这些被模型编码为纯色。一般而言人的视觉可以感知:128中色彩,130中饱和度,23中敏感度,16位存储一个像素:H7 S4 V5或者H6 S5 V5

HSV与RGB之间的相互转换

  • 已知像素的RGB值,求HSV模型的表示

m=max(r,g,b), n=min(r,g,b),其中r,g,b是归一化的RGB颜色空间的值,求对应于HSV颜色空间的h,s,v

颜色模型简介: RGB与HSV, CMYK相互之间转换公式整理

  • 已知像素的HSV表示,求RGB模型的表示

已知该像素的HSV颜色空间的值是H, S, V,其中H的范围是[0, 360], S的范围是[0, 1], V的范围是[0, 1],求对应RGB颜色空间的r, g, b

颜色模型简介: RGB与HSV, CMYK相互之间转换公式整理

CMYK与RGB之间的相互转换

  • 已知像素的CMYK表示,求RGB表示

已知CMYK颜色空间的值c,m,.y,k的范围是[0, 1],RGB颜色空间的值r, g, b的范围是[0, 255],CMYK到RGB的转换如下:

= 255 * (1 - c) * (1 - k)

g = 255 * (1 - m) * (1 - k)

b = 255 * (1 - y) * (1 - k)

  • 已知像素的RGB表示,求CMYK的表示

已知RGB的值为R, G, B,范围是[0, 255],求CMYK颜色空间的值c, m, y, k,对应的

R, G, B归一化的值是r, g, b,范围[0, 1]

r/ 255

g/ 255

b = B / 255

k = 1 - max(r, g, b)

c = (1 - k) / (1 - k)

= (1 - k) / (1 - k)

y = (1 - k) / (1 - k)

公式参考:

https://www.rapidtables.com/convert/color/index.html