HSLとHSV色空間:概念、変換、利用、そして限界
HSL
色空間(
HLS色空間とも呼ばれる)と
HSV色空間(HSB
色空間とも呼ばれる)は、
色を表現するモデルです。
色相(Hue)、
彩度(Saturation)、そして輝度(Lightness)または
明度(Value)の3つの成分からなり、人間の
色の知覚に近似した直感的な
色表現を可能にしています。これらは
RGB色空間の非線形変換であり、1970年代にコンピュータディスプレイ技術の発展に伴い考案されました。
基本的な考え方
HSLとHSVはどちらも円柱状の空間として表現されます。
色相(Hue)は0度から360度まで変化し、
赤、黄、
緑、シアン、
青、
マゼンタといった主要な
色相をカバーします。円柱の中心軸は、輝度(Lightness)または
明度(Value)を表し、上端が
白(100%)、下端が
黒(0%)となります。
彩度(Saturation)は中心軸からの距離で表され、中心軸上は
彩度0%(
無彩色)、中心軸から最も遠い円周上は
彩度100%(
純色)となります。
HSLは
絵具の混合に近く、Lightnessの変化は
白または
黒の
絵具の
量の変化に相当します。「明るい
赤」は
赤の
絵具に
白の
絵具を加えることで作りますが、これはLightnessを大きくすることに相当します。
一方、HSVは光の下での
色の見え方に近似します。HSVでValueが最大の
色は、
純色の物体に
白色光を当てたときの
色です。
赤い物体に明るい
白色光を当てると
赤く見え、光を暗くすると
黒に近づいて見える現象に似ています。
HSLやHSVは
[RGB]]値から計算によって導き出されます。まず、RGB値から最大値(Max)、最小値(Min)、中間値(Mid)を求めます。MaxとMinの差がChroma(
彩度と混同されることがある)となり、MaxとMinの
平均値がLightness(HSL)またはValue(HSV)となります。HueはMax、Min、中間値の組み合わせによって計算されます。[[彩度]は、LightnessまたはValueとChromaの関係から計算されます。
色を構成する属性
HSL、HSVにおけるHue、Saturation、Lightness/Valueは、
[国際照明委員会]などが定義する学術的な概念とは厳密には一致しません。
[色]]相(Hue)は色の種類、輝度(Luminance)は光の強さ、
明度]は
[白色に対する相対的な明るさ、
彩度]は[[色の鮮やかさなどを表しますが、HSLとHSVの定義はこれらの厳密な定義とは異なることに注意が必要です。
歴史
HSLは1938年にジョルジュ・ヴァレンシによって、カラー
テレビ放送のための
色情報付加方法として開発されました。HSVは1970年代半ばに、コンピューターディスプレイにおける直感的な
色選択を目的として開発され、1978年にアルヴィ・レイ・スミスによって正式に発表されました。HSLは
RGBとの高速な変換が可能なため、当時のコンピュータでもリアルタイム変換が可能だった点で有用でした。
ソフトウェアにおける利用
HSLとHSVは、
グラフィックソフトウェア、
ウェブアプリケーション、
画像編集ソフト、動画編集ソフトなど、
色選択や
色調整を必要とする多くのソフトウェアで広く利用されています。CSS3でもHSLの値を直接使用できます。地図や医療画像などにおけるデータ可視化にも活用されています。
画像解析における利用
コンピュータビジョンや画像解析においても、HSL、HSV、HSIなどのモデルは特徴検出や画像セグメンテーションに用いられます。物体検出、顔認識、文字認識、画像検索、医用画像解析などへの応用があります。
欠点
HSLとHSVは、人間の
色の知覚と完全に一致しているわけではありません。特に、Lightness/ValueとSaturationの関係は直感に反することがあります。例えば、純粋な
青と
白はHSVでは同じ
明度とされますが、人間の知覚では明るさが大きく異なります。また、HSL、HSVは
RGBの単純な変換であるため、
RGBの
色域の非対称性をそのまま引き継いでいます。これらのモデルは、
色の詳細な情報を無視し、知覚的な
色の属性を混同しているため、
色の精密な制御や画像補正には不向きです。
結論
HSLとHSVは、直感的な
色選択や簡単な
色調整には有用ですが、
色の精密な制御や画像補正には、CIELABなどの知覚的に均一な
色空間を用いる方がより適切です。それらのモデルは、人間の知覚に則ったより正確な
色表現を目指した、発展した
色空間と認識されています。