RGB to HSV

Last-modified: 2006-04-12 (水) 01:25:42

HSV

定義と成り立ち

オストワルト表色系に基づいた六角錐の表色系です。

HSIと呼ばれることもあります。

各成分の意味

H:色相(hue)

S:彩度(saturation)

V:強度(value)

各成分の範囲

H:[0 .. 359 degrees](ただし赤が0degree)

S:[0.0..1.0]

V:[0.0..1.0]

R:[0.0..1.0]

G:[0.0..1.0]

B:[0.0..1.0]

返還式

RGB => HSV

MAX = max(R,G,B)

MIN = min(R,G,B)

V = MAX

V == 0の場合

S = 0

H = 0

V == 0以外の場合

S = (MAX - MIN)/MAX

Cr = (MAX - R )/(MAX - MIN)

Cg = (MAX - G )/(MAX - MIN)

Cb = (MAX - B )/(MAX - MIN)

R == MAX : H = Cb -Cg

G == MAX : H = 2 + Cr -Cb

B == MAX : H = 4 + Cg -Cr

H = 60 x H

H < 0 : H = H + 360

HSV => RGB

S == 0 の場合

R = G = B = V

S == 0 以外の場合

I = floor(H/60)

F = H - I

M = V x(1 - S)

N = V x(1 - S x F)

K = V x(1 - S x (1 - F))

I = 0 : R = V ,G = K , B = M

I = 1 : R = N ,G = V , B = M

I = 2 : R = M ,G = V , B = K

I = 3 : R = M ,G = N , B = V

I = 4 : R = K ,G = M , B = V

I = 5 : R = V ,G = M , B = N