lab2rgb
CIE 1976 L*a*b* を RGB に変換
説明
例
L*a*b* カラーの RGB への変換
L*a*b* カラーの Adobe RGB への変換
L*a*b* 色空間の色の値を Adobe RGB (1998) 色空間に変換します。
lab2rgb([70 5 10],'ColorSpace','adobe-rgb-1998')
ans = 1×3
0.7086 0.6507 0.5978
白色点を指定して L*a*b* カラーを RGB に変換
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 カラーへの変換
L*a*b* の色の値を 8 ビットエンコードされた RGB カラー値に変換します。
lab2rgb([70 5 10],'OutputType','uint8')
ans = 1x3 uint8 row vector
188 167 153
入力引数
lab
— L*a*b* の色の値
数値配列
変換する 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")
ColorSpace
— 出力 RGB 値の色空間
"srgb"
(既定値) | "adobe-rgb-1998"
| "prophoto-rgb"
| "linear-rgb"
出力 RGB 値の色空間。"srgb"
、"adobe-rgb-1998"
、"prophoto-rgb"
、または "linear-rgb"
を指定します。"linear-rgb"
を指定した場合、lab2rgb
は線形化された sRGB 値を返します。
データ型: string
| char
WhitePoint
— 基準白色点
"d65"
(既定値) | "a"
| "c"
| "e"
| "d50"
| "d55"
| "icc"
| 1 行 3 列のベクトル
基準白色点。1 行 3 列のベクトルまたは次の表の CIE 標準光源のいずれかとして指定します。
値 | 白色点 |
---|---|
"a" | CIE 標準光源 A |
"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 で日の出または日没時の暖か味のある昼光をシミュレートしたものです。"地平光" とも呼ばれます。 |
| CIE 標準光源 D55 |
"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
OutputType
— 返される RGB 値のデータ型
"double"
| "single"
| "uint8"
| "uint16"
返される RGB 値のデータ型。"double"
、"single"
、"uint8"
、または "uint16"
を指定します。OutputType
を指定しない場合、出力の型は入力と同じになります。
データ型: string
| char
出力引数
rgb
— 変換後の RGB カラー値
数値配列
変換後の 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 の色域にあるかどうかの判定を参照してください。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
lab2rgb
では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。詳細については、イメージ処理のコード生成を参照してください。コードを生成する際、すべての引数はコンパイル時の定数でなければなりません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
名前と値の引数
ColorSpace
は、値"srgb"
、"adobe-rgb-1998"
、および"linear-rgb"
のみをサポートしています。コードを生成する際、すべての引数はコンパイル時の定数でなければなりません。
バージョン履歴
R2014b で導入R2022b: ProPhoto (ROMM RGB) 色空間のサポート
lab2rgb
は、sRGB 色空間や Adobe RGB 1998 色空間よりも色域の広い ProPhoto (ROMM RGB) 色空間をサポートするようになりました。ProPhoto 色空間を使用するには、名前と値の引数 ColorSpace
を "prophoto-rgb"
として指定します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)