RGBからHSVへの変換
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/28 04:50 UTC 版)
「HSV色空間」の記事における「RGBからHSVへの変換」の解説
R、GおよびBが0.0を最小量、1.0を最大値とする0.0から1.0の範囲にあり、(R,G,B)で定義された色が与えられたとすると、それに相当する(H,S,V)カラーは次のような数式により決定することができる。 R,G,Bの三つの値の内、最大のものをMAX、最小のものをMINとすると、この式は次のように書ける。[疑問点 – ノート] H = { undefined, if M I N = M A X 60 × G − R M A X − M I N + 60 , if M I N = B 60 × B − G M A X − M I N + 180 , if M I N = R 60 × R − B M A X − M I N + 300 , if M I N = G V = M A X {\displaystyle {\begin{aligned}H&={\begin{cases}{\text{undefined,}}&{\text{if }}\mathrm {MIN} =\mathrm {MAX} \\60\times {\frac {G-R}{\mathrm {MAX} -\mathrm {MIN} }}+60,&{\text{if }}\mathrm {MIN} =B\\60\times {\frac {B-G}{\mathrm {MAX} -\mathrm {MIN} }}+180,&{\text{if }}\mathrm {MIN} =R\\60\times {\frac {R-B}{\mathrm {MAX} -\mathrm {MIN} }}+300,&{\text{if }}\mathrm {MIN} =G\end{cases}}\\V&=\mathrm {MAX} \end{aligned}}} 円錐モデル S = M A X − M I N {\displaystyle S=\mathrm {MAX} -\mathrm {MIN} \,} 円柱モデル S = M A X − M I N M A X {\displaystyle S={\frac {\mathrm {MAX} -\mathrm {MIN} }{\mathrm {MAX} }}} 結果は(H,S,V)形式である。Hは0.0から360.0まで変化し、色相が示された色環に沿った角度で表現される。SおよびVは0.0から1.0までの範囲で変化する彩度および明度である。角座標系で、Hの範囲は0から360までであるが、その範囲を超えるHは360.0で割った剰余(またはモジュラ演算)でこの範囲に対応させることができる。たとえば-30は330と等しく、480は120と等しくなる。 この式はHSVの他の性質も示す。 MAX = MIN(例・S = 0)のとき、 Hは定義されない。上記のHSV空間の図を参照するとよい。もしS = 0ならこの色は中央のグレイの直線の周囲にあり、従ってこの色には彩度がなく、角座標には意味がない。 円柱モデルでMAX = 0(例・V = 0)のとき、Sは未定義である。これは上記の円錐状の図に最もよく表れている。もしV = 0ならこの色は完全な黒であり、この色に色相も彩度もない。従って円錐状の図は単一の点に潰れ、この点では角度も角座標系も無意味である。
※この「RGBからHSVへの変換」の解説は、「HSV色空間」の解説の一部です。
「RGBからHSVへの変換」を含む「HSV色空間」の記事については、「HSV色空間」の概要を参照ください。
- RGBからHSVへの変換のページへのリンク