ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

label2rgb

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

構文

RGB = label2rgb(L)
RGB = label2rgb(L,cmap)
RGB = label2rgb(L,cmap,zerocolor)
RGB = label2rgb(L,cmap,zerocolor,order)

説明

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

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

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

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

すべて折りたたむ

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

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

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

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

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

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

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

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

入力引数

すべて折りたたむ

連続領域のラベル行列。m 行 n 列の非負整数の行列として指定します。0 とラベル付けされたピクセルは背景です。1 とラベル付けされたピクセルは 1 番目のオブジェクトを構成し、2 とラベル付けされたピクセルは 2 番目のオブジェクトを構成する、というように、次々にオブジェクトを構成します。

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

カラーマップ。次のいずれかに指定します。

説明
データ型が 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 要素ベクトルまたは次のカラーの省略形のいずれかを指定します。

'b'
'c'シアン
'g'
'k'
'm'赤紫
'r'
'w'
'y'

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

出力引数

すべて折りたたむ

RGB イメージ。m x n x 3 列の数値行列として返されます。

データ型: uint8

拡張機能

R2006a より前に導入