デバイス非依存の色空間
色相、明度、強度のように、色を記述するために使用される各基準の用語はそれぞれ固有で、比較することは容易ではありません。
1931年、CIE (International Commission on Illumination。Commission Internationale de l'Éclairage の頭文字をとる) は、人の色認識を調べ、CIE XYZ と呼ばれる基準を作りました。この基準は、3 次元空間を定義し、三刺激値 (tristimulus value) と呼ばれる 3 つの値を使用して色を定義します。この基準は、今日でも広く使われています。
この初期の設定以来、20 年の間、CIE は、いくつかの目的に対しては、XYZ より便利な他の色表現を与えるいくつかの付加的な色空間を設定できるように発展してきました。たとえば、1976年、色の可視表現に関連性をもたせた知覚的に一様な色空間を得るために、CIE は、L*a*b* 色空間を作成しました。
デバイス非依存の色空間の間の変換
Image Processing Toolbox™ は、CIE が規定するデバイス非依存の色空間に属する色空間同士の変換をサポートしています。加えて、ツールボックスは、CIE 色空間と sRGB 色空間との間の変換をサポートしています。この色空間は、一般的な PC モニターの特性を記述することにより産業群を定義するものです。
次の表は、ツールボックスがサポートしているデバイス非依存の色空間の一覧です。
色空間 | 説明 | サポートされている変換関数 |
---|---|---|
XYZ | 元の 1931 CIE 色空間仕様 | xyY、uvl、u′v′L、および L*a*b* |
xyY | 正規化された色度値を与える CIE 仕様。大文字 Y の値は輝度を表し、XYZ と同じです。 | XYZ |
uvL | 色度平面を視覚的により一様になるようにする CIE 仕様。L は輝度を表し、XYZ の Y と同じです。 | XYZ |
u′v′L | u と v を一様になるようにスケーリングし直す CIE 仕様。 | XYZ |
L*a*b* | 輝度のスケーリングを知覚的により一様にする CIE 仕様。L* は L の非線形スケーリングで、基準白色点に正規化されています。 | XYZ |
L*ch | c が彩度、h が色相である CIE 仕様。これらの値は、L*a*b* の a* と b* の極座標変換です。 | L*a*b* |
sRGB | 主な製品で採用されている標準で、平均的な PC モニターを特徴付けます。 | XYZ および L*a*b* |
色空間データ エンコード
2 つのデバイス非依存の色空間間の変換を行う場合、カラー データをエンコードするために使用するデータ型は、色空間がどのエンコードをサポートしているかにより、しばしば変化します。前述の例では、元のイメージが uint8
データです。XYZ 変換は、uint16
データになります。XYZ 色空間は、uint8
エンコードを定義しません。次の表は、デバイス非依存の色空間全体の中で、値を表すために使用するデータ型を示しています。
色空間 | エンコード |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表が示すように、ある色空間はデータ型が制限されています。たとえば、XYZ 色空間は、uint8
エンコードを定義しません。8 ビット CIE LAB データを XYZ 色空間に変換する場合、データは、uint16
形式で出力されます。XYZ データのエンコードを変更するには、以下の関数を使用します。
xyz2double
xyz2uint16
L*a*b* データのエンコードを変更するには、以下の関数を使用します。
lab2double
lab2uint8
lab2uint16
RGB データのエンコードを変更するには、以下の関数を使用します。
im2double
im2uint8
im2uint16