Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

label2rgb

ラベル行列を RGB イメージに変換

説明

RGB = label2rgb(L) は、ラベル イメージ L を、ラベル化された領域を可視化する目的で、RGB カラー イメージに変換します。関数 label2rgb は、ラベル行列内のオブジェクト数をベースに個々のオブジェクトに割り当てる色を決定します。関数 label2rgb は、カラーマップのすべての範囲から色をピックアップします。

RGB = label2rgb(L,cmap) は RGB イメージで使用されるカラーマップ cmap を指定します。

RGB = label2rgb(L,cmap,zerocolor) は、背景要素 (0 というラベルが付けられたピクセル) の RGB カラーを指定します。

RGB = label2rgb(L,cmap,zerocolor,order) は、label2rgb が、ラベル行列の中の領域に色をどのように割り当てるかを制御します。

RGB = label2rgb(___,"OutputFormat",outputFormat) では、この関数で RGB イメージではなく一意の色のリストを返すよう指定できます。

すべて折りたたむ

イメージを読み取り、それを表示します。

I = imread('rice.png'); 
imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

イメージからラベル行列を作成します。

BW = imbinarize(I); 
CC = bwconncomp(BW);
L = labelmatrix(CC);

既定の設定を使用して、ラベル行列を RGB イメージに変換します。

RGB = label2rgb(L);
figure
imshow(RGB)

Figure contains an axes object. The axes object contains an object of type image.

オプションのパラメーターを指定して、ラベル行列を RGB イメージに変換します。この例では 'spring' カラーマップを使用して、背景ピクセルをシアンに設定し、無作為で各ラベルに色を割り当てます。

RGB2 = label2rgb(L,'spring','c','shuffle'); 
figure
imshow(RGB2)

Figure contains an axes object. The axes object contains an object of type image.

入力引数

すべて折りたたむ

連続領域のラベル イメージ。次のいずれかを指定します。

  • 非負の整数の行列。0 とラベル付けされたピクセルは背景です。1 とラベル付けされたピクセルは 1 番目のオブジェクトを構成し、2 とラベル付けされたピクセルは 2 番目のオブジェクトを構成する、というように、次々にオブジェクトを構成します。数値ラベル イメージは、watershedlabelmatrix などのラベル付け関数から取得できます。

  • categorical 行列。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical

生成されるカラー イメージ RGB で使用されるカラーマップ。次のいずれかとして指定します。

説明
データ型が double の c 行 3 列の行列

各 c カラーを RGB 3 成分として指定するカラーマップ行列。c は、ラベル行列 L のラベル数 numlabels 以上でなければなりません。ラベル数は numlabels = max(L(:)) として計算できます。

c が numlabels より大きい場合、label2rgb は、行列の最初の numlabels 行のみを使用して RGB イメージを作成します。

カラーマップ関数

MATLAB® カラーマップ関数の名前。"jet""gray" などです。サポートされているカラーマップの一覧については、colormap を参照してください。

カラーマップ ハンドル

カラーマップ関数のハンドル (@jet@gray など)。

塗りつぶし色。RGB 3 成分を表す 3 要素ベクトルを指定するか、数値ラベル イメージの場合は次のカラーの省略形のいずれかを指定します。label2rgb はこの塗りつぶし色を、数値ラベル イメージの場合はラベル 0 に、カテゴリカル ラベル イメージの場合はラベル <undefined> に適用します。

"b"blue
"c"cyan
"g" green
"k"black
"m"magenta
"r"red
"w"white
"y"yellow

色の順序。"noshuffle" または "shuffle" を指定します。"noshuffle" の順序は、カラーマップの色をラベル行列領域に番号順で割り当てます。"shuffle" の順序は、疑似ランダムにカラーマップの色を割り当てます。

RGB に返される RGB データの出力形式。以下のいずれかとして指定します。

  • "image" — RGB イメージを返します。入力のラベル行列 L のサイズが MN 列の場合、出力の RGB イメージのサイズは M x N x 3 です。

  • "triplets" — RGB カラーのリストを返します。出力のサイズは C 行 3 列の行列であり、入力のラベル行列にある C 個の各ラベルの RGB 3 成分が含まれます。

出力引数

すべて折りたたむ

RGB データ。数値行列として返されます。

データ型: uint8

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する