Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

デバイス非依存の色空間

色相、輝度、明度のように、色を記述するために使用される各基準の用語はそれぞれ固有で、比較することは容易ではありません。

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

uint16 または double

xyY

double

uvL

double

u'v'L

double

L*a*b*

uint8uint16 または double

L*ch

double

RGB

double uint8 uint16

表が示すように、ある色空間はデータ型が制限されています。たとえば、XYZ 色空間は、uint8 エンコードを定義しません。8 ビット CIE LAB データを XYZ 色空間に変換する場合、データは、uint16 形式で出力されます。XYZ データのエンコードを変更するには、以下の関数を使用します。

  • xyz2double

  • xyz2uint16

L*a*b* データのエンコードを変更するには、以下の関数を使用します。

  • lab2double

  • lab2uint8

  • lab2uint16

RGB データのエンコードを変更するには、以下の関数を使用します。

  • im2double

  • im2uint8

  • im2uint16