Main Content

lab2double

L*a*b* の色の値を double に変換

説明

labD = lab2double(lab) は、L*a*b* の色の値を double 型に変換します。

すべて折りたたむ

この例では、uint8 L*a*b* 値を double に変換する方法を説明します。

L*a*b* 色空間の白色を指定し、uint8 ベクトルを作成します。

w = uint8([255 128 128]);

L*a*b* の色の値を double に変換します。

lab2double(w)
ans = 1×3

   100     0     0

入力引数

すべて折りたたむ

変換するカラー値。カラー値から成る m 行 3 列の数値行列 (1 行につき 1 色) または m x n x 3 の数値配列として指定します。

データ型: uint8 | uint16

出力引数

すべて折りたたむ

変換後の色の値。入力と同じサイズの数値配列として返されます。

データ型: double

アルゴリズム

関数は、L*a*b* の色の値を double 型に変換します。Image Processing Toolbox™ は、1976 CIE L*a*b* の値を含む倍精度の L*a*b* の配列の手法に従います。uint8 または uint16 である L*a*b* 配列は、符号なし 8 ビットまたは 16 ビット整数として、L*a*b* 値を表す場合に ICC プロファイル仕様 (ICC.1:2001-4、www.color.org) での方法を使います。ICC エンコード手法を次の表に示します。

値 (L*)

uint8 の値

uint16 の値

0.0

0

0

100.0

255

65280

100.0 + (25500/65280)

なし

65535

値 (a* または b*)

uint8 の値

uint16 の値

-128.0

0

0

0.0

128

32768

127.0

255

65280

127.0 + (255/256)

なし

65535

バージョン履歴

R2006a で導入