このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
rgb2lab
RGB を CIE 1976 L*a*b* に変換
説明
例
RGB の白を L*a*b* に変換
色空間を指定してカラー値を L*a*b* に変換
ColorSpace
パラメーターを使用して Adobe RGB (1998) カラー値を L*a*b* に変換します。
rgb2lab([.2 .3 .4],'ColorSpace','adobe-rgb-1998')
ans = 1×3
30.1783 -5.6902 -20.8223
基準白色を指定して RGB カラーを L*a*b* に変換
rgb2lab
で D50 の基準白色を使用して RGB カラーを L*a*b に変換します。
rgb2lab([.2 .3 .4],'WhitePoint','d50')
ans = 1×3
31.3294 -4.0732 -18.1750
RGB イメージを L*a*b* に変換し、L* 成分を表示
RGB イメージをワークスペースに読み取ります。
rgb = imread('peppers.png');
RGB イメージを L*a*b* 色空間に変換します。
lab = rgb2lab(rgb);
L*a*b* イメージの L* 成分を表示します。
imshow(lab(:,:,1),[0 100])
入力引数
RGB
— RGB カラー値
数値配列
変換する RGB カラー値。次のいずれかの形式の数値配列として指定します。
c 行 3 列のカラーマップ。各行が 1 つの RGB の色の値を指定します。
m x n x 3 のイメージ
m × n × 3 × p のイメージのスタック
データ型: single
| double
| uint8
| uint16
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: lab = rgb2lab([0.25 0.40 0.10],WhitePoint="d50")
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: lab = rgb2lab([0.25 0.40 0.10],"WhitePoint","d50")
ColorSpace
— 入力 RGB 値の色空間
"srgb"
(既定値) | "adobe-rgb-1998"
| "prophoto-rgb"
| "linear-rgb"
入力 RGB 値の色空間。"srgb"
、"adobe-rgb-1998"
、"prophoto-rgb"
、または "linear-rgb"
を指定します。"linear-rgb"
を指定した場合、rgb2lab
では、入力 RGB 値が線形化された 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
出力引数
lab
— 変換後の L*a*b* の色の値
数値配列
変換後の 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");
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
rgb2lab
では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。詳細については、イメージ処理のコード生成を参照してください。コードを生成する際、すべての文字ベクトルの入力引数はコンパイル時の定数でなければなりません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
名前と値の引数
ColorSpace
は、値"srgb"
、"adobe-rgb-1998"
、および"linear-rgb"
のみをサポートしています。コードを生成する際、すべての文字ベクトルの入力引数はコンパイル時の定数でなければなりません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2014b で導入R2022b: ProPhoto (ROMM RGB) 色空間のサポート
rgb2lab
は、sRGB 色空間や Adobe RGB 1998 色空間よりも色域の広い ProPhoto (ROMM RGB) 色空間をサポートするようになりました。ProPhoto 色空間を使用するには、名前と値の引数 ColorSpace
を "prophoto-rgb"
として指定します。
R2022b: スレッドベース環境のサポート
rgb2lab
は、スレッドベースの環境をサポートするようになりました。
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)