表色系


1.HSI 表色系

色相 (H:hue),彩度 (S:saturation),明度 (I:intensity)で記述する表色系のことで,HSV (V:value) や HSL (L:lightness) と呼ばれることもあります.RGBSI の値域は [0,1] であり H の値域は [0,2π] となっています.H は環状になっているので距離をとるときには注意して下さい.距離がπ以上の場合は 2 πから引いたものが距離になります.

PI = 3. 1415926535;
I = max{R,G,B}
i = min{R,G,B}
I = 0 の時
  S = 0
  H = 不定
それ以外の時
  S = (I-i)/I
  r = (I-R)/(I-i)
  g = (I-G)/(I-i)
  b = (I-B)/(I-i)
  R = I の時 H=(b-g)*PI/3
  G = I の時 H=(2+r-b)*PI/3
  B = I の時 H=(4+g-r)*PI/3
  ただし,H<0 の時は H の値に 2*PI を加える

次に HSI の値から RGB 値を求める逆変換を示します.

PI = 3. 1415926535;
S = 0 の時
  R = G = B = I
それ以外の時
  h = floor(H/(PI/3))   : floor(x) は x 以下の最大の整数を得る関数
  ただし H = 2*PI の時 H = 0
  P = I*(1-S)
  Q = I*{1-S*(H-h)}
  T = I*{1-S*(1-H+h)}
  h = 0 の時 R = I, G = T, B = P
  h = 1 の時 R = Q, G = I, B = P
  h = 2 の時 R = P, G = I, B = T
  h = 3 の時 R = P, G = Q, B = I
  h = 4 の時 R = T, G = P, B = I
  h = 5 の時 R = I, G = P, B = Q


2.CIE1976UCS 表色系

単純な計算式で結果が得られ,距離も取りやすいので差分や色抽出によく使われます.人間の肌の抽出などによく利用されています.

X = 0.49000R + 0.31000G + 0.20000B
Y = 0.17697R + 0.81240G + 0.01063B
Z =            0.01000G + 0.99000B

u' = 4X/(X+15Y+3Z)
v' = 9Y/(X+15Y+3Z)


戻る | トップ | 1章へ | 2章へ
Copyright(c) Masaki Onishi All rights reserved.