RGBから簡易に色相を得たいという話があった。
それならば、HSV色空間の考え方を使うのがいいと思う。
http://ja.wikipedia.org/wiki/HSV%E8%89%B2%E7%A9%BA%E9%96%93#RGB.E3.81.8B.E3.82.89HSV.E3.81.B8.E3.81.AE.E5.A4.89.E6.8F.9B
の H 値が使えるだろう。
ここのロジックをざっくり全円周6分割にするならば次のようになるだろう。
1.RGB 値のうちで最大 MAX と最小 MIN を求める。
2.MIN = MAX ならば、無彩色つまりグレイスケールである。
3.MIN = B ならば、
(1) G < R ならば、オレンジ色
(2) G ≒ R ならば、黄色
(2) さもなくば(G > R)、黄緑
4. MIN = R ならば、
(1) B < G ならば、緑
(2) さもなくば(G >= R)、淡青
5. MIN = G ならば、
(1) R < B ならば、青紫
(2) さもなくば(R >= B)、赤紫
三色視の人は黄色付近に敏感(いいかえればRGBがあまり一様でない)と思われ
るので、黄色まわりは分割を細かくした。
でも、MAX で書き換えたほうが綺麗になりそうだなあ。とりあえず。
0 件のコメント:
コメントを投稿