Main Content

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

rgb2lab

RGB を CIE 1976 L*a*b* に変換

説明

lab = rgb2lab(RGB) は sRGB 値を CIE 1976 L*a*b* 値に変換します。

lab = rgb2lab(RGB,Name,Value) では、1 つ以上の名前と値のペアの引数を使用して、RGB イメージの色空間など追加の変換オプションを指定します。

すべて折りたたむ

rgb2lab を使用して RGB の白の値を L*a*b に変換します。

rgb2lab([1 1 1])
ans = 1×3

  100.0000         0    0.0000

ColorSpace パラメーターを使用して Adobe RGB (1998) カラー値を L*a*b* に変換します。

rgb2lab([.2 .3 .4],'ColorSpace','adobe-rgb-1998')
ans = 1×3

   30.1783   -5.6902  -20.8223

rgb2lab で D50 の基準白色を使用して RGB カラーを L*a*b に変換します。

rgb2lab([.2 .3 .4],'WhitePoint','d50')
ans = 1×3

   31.3294   -4.0732  -18.1750

RGB イメージをワークスペースに読み取ります。

rgb = imread('peppers.png');

RGB イメージを L*a*b* 色空間に変換します。

lab = rgb2lab(rgb);

L*a*b* イメージの L* 成分を表示します。

imshow(lab(:,:,1),[0 100])

入力引数

すべて折りたたむ

変換する RGB カラー値。次のいずれかの形式の数値配列として指定します。

  • c 行 3 列のカラーマップ。各行が 1 つの RGB の色の値を指定します。

  • m x n x 3 のイメージ

  • m × n × 3 × p のイメージのスタック

データ型: single | double | uint8 | uint16

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: rgb2lab([0.25 0.40 0.10],'WhitePoint','d50')

入力 RGB 値の色空間。'ColorSpace''srgb''adobe-rgb-1998'、または 'linear-rgb' のいずれかから構成されるコンマ区切りのペアとして指定します。'linear-rgb' を指定した場合、rgb2lab では、入力 RGB 値が線形化された sRGB 値であると仮定します。

データ型: char

基準白色点。'WhitePoint' と 1 行 3 列のベクトルまたは以下の表の CIE 標準光源のいずれかで構成されるコンマ区切りのペアとして指定します。

白色点
'a'

CIE 標準光源 A [1.0985, 1.0000,0.3558]。相関色温度 2856 K で典型的な家庭用のタングステン製フィラメントの照明をシミュレートしたものです。 

'c'CIE 標準光源 C [0.9807, 1.0000, 1.1822]。相関色温度 6774 K で平均天空または北空の昼光をシミュレートしたものです。CIE では推奨されていません。
'e'等エネルギー放射体、[1.000, 1.000, 1.000]。理論的参照値として有用。
'd50'CIE 標準光源 D50 [0.9642, 1.0000, 0.8251]。相関色温度 5003 K で日の出または日没時の暖か味のある昼光をシミュレートしたものです。"地平光" とも呼ばれます。

'd55'

CIE 標準光源 D55 [0.9568, 1.0000,0.9214]。相関色温度 5500 K で午前または午後の中ごろの昼光をシミュレートしたものです。  

'd65'CIE 標準光源 D65 [0.9504, 1.0000, 1.0888]。相関色温度 6504 K で正午の昼光をシミュレートしたものです。 
'icc'ICC プロファイルで使用される PCS (プロファイル接続空間) の輝度。小数ビットが 16 ビットの 32 ビット符号付き固定小数点数による [0.9642, 1.000, 0.8249] の近似。実際の値: [31595,32768, 27030]/32768

データ型: single | double | char

出力引数

すべて折りたたむ

変換後の L*a*b* の色の値。入力と同じサイズの数値配列として返されます。出力の型は、入力の型が single の場合には single、 そうでない場合には double になります。

属性説明
L*イメージの輝度または明るさ。値は [0, 100] の範囲内にあり、0 が黒、100 が白を指します。L* が増加するにつれて、色の明るさが増します。
a*イメージの赤または緑の色合いの量。大きい正の a* 値は赤/マゼンタに対応します。大きい負の a* 値は緑に対応します。a* に共通の範囲はありませんが、一般的に値は [-100, 100] または [-128, 127) の範囲内に収まります。
b*イメージの黄または青の色合いの量。大きい正の b* 値は黄に対応します。大きい負の b* 値は青に対応します。b* に共通の範囲はありませんが、一般的に値は [-100, 100] または [-128, 127) の範囲内に収まります。

データ型: double | single

ヒント

  • 入力 RGB 色空間を 'linear-rgb' に指定した場合、rgb2lab は、入力値が線形化された sRGB 値であると仮定します。代わりに、入力色空間を線形化された Adobe RGB (1998) にする場合は、関数 lin2rgb を使用できます。

    たとえば、線形化された Adobe RGB (1998) イメージ RGBlinadobe を CIE 1976 L*a*b* 色空間に変換するには、変換を次の 2 つのステップで実行します。

    RGBadobe = lin2rgb(RGBlinadobe,'ColorSpace','adobe-rgb-1998');
    LAB = rgb2lab(RGBadobe,'ColorSpace','adobe-rgb-1998');
    

拡張機能

R2014b で導入