カラーモデル





  • 立方体カラーモデル
 P(X,Y,Z)が色空間を表現する。

(RGBモデル)
 P(X,Y,Z)=P-RGB(r,g,b)として、X=r(0≦r≦1),Y=g(0≦r≦1),Z=b(0≦r≦1)とする。
 原点を(0,0,0)、X軸をrベクトル、Y軸をgベクトル、Z軸をbベクトルとする空間ベクトルの和で、色座標を表現できる。
 黒、RGB原色、CMY原色、白を頂点とする立方体モデルとなる。
 P(X,Y,Z)=P-RGB(r,g,b)=P(r,g,b)となる。
 黒=P-RGB(0,0,0)=P(0,0,0)
 赤=P-RGB(1,0,0)=P(1,0,0)
 緑=P-RGB(0,1,0)=P(0,1,0)
 青=P-RGB(0,0,1)=P(0,0,1)
 シアン=P-RGB(0,1,1)=P(0,1,1)
 マゼンタ=P-RGB(1,0,1)=P(1,0,1)
 黄=P-RGB(1,1,0)=P(1,1,0)
 白=P-RGB(1,1,1)=P(1,1,1)

(CMYモデル)
 P(X,Y,Z)=P-CMY(c,m,y)として、X=1-c(0≦c≦1),Y=1-m(0≦m≦1),Z=1-y(0≦y≦1)とする。
 原点を(1,1,1)、X軸はcベクトル(rベクトルの逆ベクトル)、Y軸はmベクトル(gベクトルの逆ベクトル)、Z軸はyベクトル(bベクトルの逆ベクトル)とする空間ベクトルの和で、色座標を表現できる。
 黒、RGB原色、CMY原色、白を頂点とする立方体モデルとなる。
 P(X,Y,Z)=P-CMY(c,m,y)=P(1-c,1-m,1-y)となる。
 黒=P-CMY(1,1,1)=P(0,0,0)
 赤=P-CMY(0,1,1)=P(1,0,0)
 緑=P-CMY(1,0,1)=P(0,1,0)
 青=P-CMY(1,1,0)=P(0,0,1)
 シアン=P-CMY(1,0,0)=P(0,1,1)
 マゼンタ=P-CMY(0,1,0)=P(1,0,1)
 黄=P-CMY(0,0,1)=P(1,1,0)
 白=P-CMY(0,0,0)=P(1,1,1)


(色の要素の設定)
①明度
 色の座標から、立方体の対角線(白から黒を結ぶ無彩色軸)に垂線を下ろした場合の、無彩色軸上の位置。

 1)明度=max(r,g,b)
  最大値をとる方法では、白およびRGB原色およびCMY原色で明度最大となり、
  黒で明度最低となり、単極性モデルとなる。

  明度1となるのは、r,g,bのどれか1つ以上が1の時。
  each(r,g,b)=1 ⇔ r=1 or g=1 or b=1
  (1,1,1)
  (1,1,?),(1,?,1),(1,1,?)
  (1,?,?),(?,1,?),(?,?,1)
  明度0となるのは、r=g=b=0の時。
  (0,0,0)

  つまり、(1,1,0),(1,0,1),(1,1,0),(1,0,0),(0,1,0),(0,0,1)の原色は、明度=1になる。

 2)明度={max(r,g,b)+min(r,g,b)}/2
  最大値と最小値の平均(中間値)をとる方法では、白で明度最大、黒で明度最低となり、
  RGB原色およびCMY原色で明度中間となり、双極性モデルとなる。

  明度1となるのは、r=g=b=1の時。
  (1,1,1)
  明度1/2となるのは、r=g=b=1/2の時。
  (1/2,1/2,1/2)
  明度1/2となるのは、r,g,bのどれか1つ以上が1で、r,g,bのどれか1つ以上が0の時。
  each(r,g,b)=1 and each(r,g,b)=0
  (1,0,?),(1,?,0),(0,1,?),(?,1,0),(0,?,1),(?,0,1)
  明度0となるのは、r=g=b=0の時。
  (0,0,0)

  つまり、(1,0,0),(0,1,0),(0,0,1),(0,11),(1,0,1),(1,1,0)の原色は、明度=1/2になる。

 3)明度=(r+g+b)/3
  全ての平均(平均値)をとる方法では、白で明度最大、黒で明度最低となり、
  RGB原色およびCMY原色で明度中間とならず、立方体の対角線モデルとなる。
  RGB原色は明度1/3、CMY原色は明度2/3となる。

  明度1となるのは、r=g=b=1の時。
  (1,1,1)
  明度1/2となるのは、r=g=b=1/2の時。
  (1/2,1/2,1/2)
  明度1/2となるのは、r+g+b=3/2より、r,g,bのどれか1つが1であれば、残りの和は1/2になる。
  each(r,g,b)=1であれば、each(r,g,b)=1/2 and each(r,g,b)=0でも良い。
  (1,1/2,0),(1,0,1/2),(1/2,1,0),(0,1,1/2),(1/2,0,1),(0,1/2,1)
  each(r,g,b)=1であれば、others(r,g,b)=1/4でも良い。
  (1,1/4,1/4),(1/4,1,1/4),(1/4,1/4,1)
  明度0となるのは、r=g=b=0の時。
  (0,0,0)

  なお、(1,0,0),(0,1,0),(0,0,1)のRGB原色は、明度=1/3になる。
  明度1/3となるのは、r=g=b=1/3の時。
  (1/3,1/3,1/3)
  明度1/3となるのは、r+g+b=1より、r,g,bのどれか1つが1/2であれば、残りの和は1/2になる。
  each(r,g,b)=1/2であれば、others(r,g,b)=1/4でも良い。
  (1/2,1/4,1/4),(1/4,1/2,1/4),(1/4,1/4,1/2)

  さらに、(0,11),(1,0,1),(1,1,0)のCMY原色は、明度=2/3になる。
  明度2/3となるのは、r=g=b=2/3の時。
  (2/3,2/3,2/3)
  明度2/3となるのは、r+g+b=2より、r,g,bのどれか1つが1であれば、残りの和は1になる。
  each(r,g,b)=1であれば、others(r,g,b)=1/2でも良い。
  (1,1/2,1/2),(1/2,1,1/2),(1/2,1/2,1)

②彩度
 色の座標から、立方体の対角線(白から黒を結ぶ無彩色軸)に垂線を下ろした場合の、無彩色軸からの位置。
 無彩色では彩度0となるため、r=g=bでは彩度0である。
 純色では彩度が最大となる。

 1)彩度=max(r,g,b)-min(r,g,b)
  円錐(もしくは双円錐)モデルとなる。
  彩度0は、max(r,g,b)=min(r,g,b)の時。
  max(r,g,b)=0であれば、r=g=b=0であり、min(r,g,b)=0であり、彩度=0となる。

  (k,k,k)
  彩度が最大になるには、max(r,g,b)=1 and min(r,g,b)=0の時。
  (1,0,?),(1,?,0),(0,1,?),(?,1,0),(0,?,1),(?,0,1)
  これは、明度={max(r,g,b)+min(r,g,b)}/2=1/2の場合に一致する。  
  つまり、(1,0,0),(0,1,0),(0,0,1),(0,11),(1,0,1),(1,1,0)の原色は、彩度=1になる。

 2-1)彩度={max(r,g,b)-min(r,g,b)}/max(r,g,b)=1-min(r,g,b)/max(r,g,b)
  円柱モデルとなる。
  彩度0は、max(r,g,b)=min(r,g,b)の時。
  max(r,g,b)=0であれば、分母が0で定義できないが、r=g=b=0であり、彩度=0である。

  (k,k,k)
  彩度が最大になるには、min(r,g,b)=0の時であり、r,g,bのどれか1つ以上が0である。
  each(r,g,b)=0 ⇔ r=0 or g=0 or b=0
  (0,?,?),(?,0,?),(?,?,0)
  これは、明度=max(r,g,b)/2 または 明度={other(r,g,b)+another(r,g,b)}/3の場合に一致する。
  つまり、(1,0,0),(0,1,0),(0,0,1),(0,11),(1,0,1),(1,1,0)の原色は、彩度=1になる。

 2-2)彩度={max(r,g,b)-min(r,g,b)}/ {1-|max(r,g,b)+min(r,g,b)-1|}
  円柱モデルとなる。
  彩度0は、max(r,g,b)=min(r,g,b)の時。
  1-|max(r,g,b)+min(r,g,b)-1|=0、つまり、max(r,g,b)+min(r,g,b)=0 or 2であれば、
  分母が0で定義できないが、r=g=b=0であり、彩度=0である。

③色相
 色の座標から、立方体の対角線(白から黒を結ぶ無彩色軸)に垂線を下ろした場合の、無彩色軸を中心とした角度。
 無彩色軸に対して垂直な平面において、無彩色軸を中心として、赤を0度、緑を120度、青を240度とする。
 黒=色相なし
 赤=0度
 緑=120度
 青=240度
 シアン=180度
 マゼンタ=300度
 黄=60度
 白=色相なし

 1)色相環が六角形
  r=max(r,g,b)
  色相=60×(g-b)/{max(r,g,b)-min(r,g,b)}=60×(g-b)/r-min(r,g,b)}
  g=max(r,g,b)
  色相=60×(b-r)/{max(r,g,b)-min(r,g,b)}+120=60×(b-r)/g-min(r,g,b)}+120
  b=max(r,g,b)
  色相=60×(r-g)/{max(r,g,b)-min(r,g,b)}+240=60×(r-g)/b-min(r,g,b)}+240

 2)色相環が円形
  R軸基準のG軸周りの角度
  色相=arctan [ {√3(g-b)} / {2r-(g+b)} ]

 注意点
 ・無彩色では、軸上のため、角度を定義できない
 ・無彩色に近い色(彩度の低い色)は、R,G,Bが近接しており、わずかな数値の違いで色相が大きく変化する
 ・角度は周回するため、359度と0度は数値が離れていても、色相は近く、閾値処理に注意が必要
 ・角度は周回するため、色相をシフトする際は、360度で0度と一致し、境界線をまたぐ計算に注意が必要

 x=S×cos H={2r-(g+b)} /2
 y=S×sin H={√3(g-b)} /2

 H=arctan (y/x)=arctan [ {√3(g-b)} / {2r-(g+b)} ]
 S=√(x^2+y^2)
 L

 r=L+2x/3=L+2(S×cos H)/3
 g=L-x/3+y/√3=L-(S×cos H)/3+(S×sin H)/√3
 b=L-x/3-y/√3=L-(S×cos H)/3-(S×sin H)/√3

 立方体モデル:x,y → r,g,b:(x,y)の色に使用
 円モデル:x,y → H,S,L → r,g,b:(x,y)の色に使用
 六角形モデル:x,y → H,S,L → r,g,b → x',y':(x',y')の色に使用



  • 円錐モデル
 HSV(HSB)
 明度=max(r,g,b)
 彩度=max(r,g,b)-min(r,g,b)

  • 双円錐モデル
 HSL(HLS)
 明度={max(r,g,b)+min(r,g,b)}/2
 彩度=max(r,g,b)-min(r,g,b)

  • 六角錐モデル
 HSV(HSB)

 明度=max(r,g,b)
 彩度=max(r,g,b)-min(r,g,b)

  • 双六角錐モデル
 HSL(HLS)

 明度={max(r,g,b)+min(r,g,b)}/2
 彩度=max(r,g,b)-min(r,g,b)

  • 円柱モデル
 HSV(HSB)

 明度=max(r,g,b)
 彩度={max(r,g,b)-min(r,g,b)}/max(r,g,b)

  • 双円柱モデル
 HSL(HLS)

 明度={max(r,g,b)+min(r,g,b)}/2
 彩度={max(r,g,b)-min(r,g,b)}/ {1-|max(r,g,b)+min(r,g,b)-1|}

  • 六角柱モデル
 HSV(HSB)

 明度=max(r,g,b)
 彩度={max(r,g,b)-min(r,g,b)}/max(r,g,b)

  • 双六角柱モデル
 HSL(HLS)

 明度={max(r,g,b)+min(r,g,b)}/2
 彩度={max(r,g,b)-min(r,g,b)}/ {1-|max(r,g,b)+min(r,g,b)-1|}

最終更新:2017年01月05日 19:14
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。