Main Content

lab2rgb

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

説明

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

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

すべて折りたたむ

L*a*b* 色空間の色の値を標準 RGB 色空間に変換します。

lab2rgb([70 5 10])
ans = 1×3

    0.7359    0.6566    0.6010

L*a*b* 色空間の色の値を Adobe RGB (1998) 色空間に変換します。

lab2rgb([70 5 10],'ColorSpace','adobe-rgb-1998')
ans = 1×3

    0.7086    0.6507    0.5978

D50 白色点を指定して L*a*b* の色の値を標準 RGB に変換します。

lab2rgb([70 5 10],'WhitePoint','d50')
ans = 1×3

    0.7282    0.6573    0.6007

L*a*b* の色の値を 8 ビットエンコードされた RGB カラー値に変換します。

lab2rgb([70 5 10],'OutputType','uint8')
ans = 1x3 uint8 row vector

   188   167   153

入力引数

すべて折りたたむ

変換する L*a*b* の色の値。次のいずれかの形式の数値配列として指定します。

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

  • m x n x 3 のイメージ

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

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

データ型: single | double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: rgb = lab2rgb([70 5 10],WhitePoint="d50")

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: rgb = lab2rgb([70 5 10],"WhitePoint","d50")

出力 RGB 値の色空間。"srgb""adobe-rgb-1998""prophoto-rgb"、または "linear-rgb" を指定します。"linear-rgb" を指定した場合、lab2rgb は線形化された sRGB 値を返します。

データ型: string | char

基準白色点。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 | string | char

返される RGB 値のデータ型。"double""single""uint8"、または "uint16" を指定します。OutputType を指定しない場合、出力の型は入力と同じになります。

データ型: string | char

出力引数

すべて折りたたむ

変換後の RGB カラー値。入力と同じ形状の数値配列として返されます。出力の型は、OutputType パラメーターを指定した場合を除いて入力の型と同じになります。

ヒント

  • 出力 RGB 色空間を "linear-rgb" に指定した場合、出力値は線形化された sRGB 値になります。代わりに、出力色空間を線形化された Adobe RGB (1998) にする場合は、関数 rgb2lin を使用できます。

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

    RGBadobe = lab2rgb(LAB,"ColorSpace","adobe-rgb-1998");
    RGBlinadobe = rgb2lin(RGBadobe,"ColorSpace","adobe-rgb-1998");
  • lab2rgb は、RGB の "色域" から外れた色の値を返すことができます。変換された RGB の色は、そのいずれかの成分の値が 0 未満か 1 より大きい場合、色域から外れています。詳細については、L*a*b* 値が RGB の色域にあるかどうかの判定を参照してください。

拡張機能

バージョン履歴

R2014b で導入

すべて展開する