HSV色空間

HSV空間:直感的なの表現



HSV空間は、相(Hue)、彩度(Saturation)、明度(Value)の3つのパラメータでを表現するモデルです。HSBモデル(Hue, Saturation, Brightness)とも呼ばれ、HLS色空間と類似していますが、明度の定義に違いがあります。HSVは1978年にAlvy Ray Smithによって考案され、RGB空間の非線形変換として、の表現や変換に用いられています。

相、彩度明度の意味



相 (Hue): の種類を表します。など、の名前で表現される要素です。0°~360°の範囲で表され、アプリケーションによっては0~100%に正規化されることもあります。
彩度 (Saturation): の鮮やかさを表します。0~100%の範囲で、0%は灰色、100%は最も鮮やかなとなります。彩度が低いほど、灰色がかってくすんだになります。
明度 (Value): の明るさを表します。0~100%の範囲で、0%は、100%は最も明るいとなります。

HSVの視覚化



HSV空間は、様々な方法で視覚化できます。

環と三角形: 相を円状の環で、彩度明度三角形で表現する方法が一般的です。環で相を選び、三角形彩度明度を調整するインターフェースがよく用いられます。
円錐モデル: 相を円錐の側面に、彩度円錐の中心からの距離に、明度を頂点からの距離にそれぞれ対応させる視覚化です。HSV空間全体を一つの図形で表現できる利点があります。六角錐で表現される場合もあります。
円柱モデル: 相を円柱の外周に、彩度を中心からの距離に、明度を高さにそれぞれ対応させる視覚化です。数学的には厳密なモデルとされていますが、に近い部分では彩度相の精度が低くなる欠点があります。

コンピュータグラフィックスアプリケーションでは、直感的な選択のため、円環と三角形による視覚化が広く採用されています。

HSVと人間の知覚



HSVモデルは、人間の知覚と比較的近いため、グラフィックデザイナーRGBCMYKモデルよりもHSVモデルを好んで使用することがあります。RGBCMYKは、加法混合や減法混合に基づいたモデルであり、原色の組み合わせでが定義されます。一方、HSVは「どんなか」「どのくらい鮮やかか」「どのくらい明るいのか」といった、人間にとってより理解しやすい情報を表現します。HLS色空間も同様の利点を持っています。

ただし、HSVは物理的な光のスペクトルとは一対一の対応関係を持たないため、HSV座標から光の波長や振幅といった物理量を直接求めることはできません。

RGBとHSVの変換



RGB空間とHSV空間の間には、相互に変換する数式が存在します。以下に変換式を示します。なお、R、G、Bは0.0~1.0の範囲の値で表現するものとします。

RGBからHSVへの変換



`MAX`をR、G、Bの最大値、`MIN`を最小値とすると、


H =
if MIN = MAX then undefined
else if MIN = B then 60 × (G - R) / (MAX - MIN) + 60
else if MIN = R then 60 × (B - G) / (MAX - MIN) + 180
else if MIN = G then 60 × (R - B) / (MAX - MIN) + 300

V = MAX


円錐モデルの場合:`S = MAX - MIN`

円柱モデルの場合:`S = (MAX - MIN) / MAX`

HSVからRGBへの変換



Hが0.0~360.0、SとVが0.0~1.0の範囲の値で与えられているとします。Sが0.0ならR=G=B=Vとなり、Hは無意味になります。

円柱モデルの場合:`C = V × S`

円錐モデルの場合:`C = S`

`H' = H / 60` とし、以下の式を用いてR、G、Bを求めます。


X = C × (1 - |H' mod 2 - 1|)

(R, G, B) = (V - C)(1, 1, 1) +
if H is undefined then (0, 0, 0)
else if 0 ≤ H' < 1 then (C, X, 0)
else if 1 ≤ H' < 2 then (X, C, 0)
else if 2 ≤ H' < 3 then (0, C, X)
else if 3 ≤ H' < 4 then (0, X, C)
else if 4 ≤ H' < 5 then (X, 0, C)
else if 5 ≤ H' < 6 then (C, 0, X)


これらの式を用いることで、RGBとHSVの相互変換が可能です。ソフトウェアでは、これらの式を基にした変換関数が提供されています。

まとめ



HSV空間は、相、彩度明度という直感的なパラメータでを表現するモデルであり、コンピュータグラフィックスなど様々な分野で利用されています。RGB空間との相互変換も容易に行うことができ、の表現や操作において重要な役割を果たしています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。