ドキュメンテーション

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

label2rgb

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

構文

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

説明

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

RGB = label2rgb(L, map) は、RGB イメージ内で使用するカラーマップ map を指定します。map は、次のいずれかの値を設定します。

  • n 行 3 列のカラーマップ行列

  • 'jet''gray' などの MATLAB® カラーマップ関数の名前 (サポートされているカラーマップの一覧は、colormap を参照してください)

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

map を指定しない場合の既定値は 'jet' です。

RGB = label2rgb(L, map, zerocolor) は、入力ラベル行列 L 内の 0 (ゼロ) というラベルが付けられた要素の RGB カラーを指定します。zerocolor の値としては、RGB 3 成分、または次の表のいずれかの色を指定します。

'b'

'c'

シアン

'g'

'k'

'm'

赤紫

'r'

'w'

'y'

zerocolor を指定しない場合、ゼロラベル要素に対する既定値は [1 1 1] (白) になります。

RGB = label2rgb(L, map, zerocolor, order) は、label2rgb が、ラベル行列の中の領域にカラーマップの色をどのように割り当てるかを制御します。order'noshuffle' (既定の設定) である場合、label2rgb は、カラーマップの色をラベル行列領域に数値的な順番で割り当てます。order'shuffle' である場合、label2rgb は、疑似ランダムにカラーマップの色を割り当てます。

コード生成 サポート: あり。

MATLAB Function ブロック サポート: あり。

クラス サポート

入力のラベル行列 L は任意の数値クラスになります。この要素は、有限の非負の整数でなければなりません。label2rgb の出力は、uint8 クラスになります。

すべて折りたたむ

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

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

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

BW = im2bw(I, graythresh(I));
CC = bwconncomp(BW);
L = labelmatrix(CC);

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

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

オプションのパラメーターを指定して、ラベル行列を RGB イメージに変換します。

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

詳細

すべて折りたたむ

コード生成

この関数では MATLAB Coder™ を使用した C コードの生成がサポートされています。詳細は、「画像処理のコード生成」を参照してください。

コードを生成する際、標準構文 RGB = label2rgb(L, map, zerocolor, order) を使用して最適な結果を得るには、以下を行います。

  • 少なくとも 2 つの入力引数、ラベル行列 L およびカラーマップ行列 map を渡します。

  • map は、n 行 3 列、double のカラーマップ行列でなければなりません。MATLAB のカラーマップ関数や、カラーマップ関数の関数ハンドルの名前は使用できません。

  • 境界の色 zerocolor をいずれかの領域と同じ色に設定した場合、label2rgb では警告が表示されません。

  • order に値を指定する場合は、'noshuffle' でなければなりません。

MATLAB Function ブロック

この関数は Simulink の MATLAB Function ブロックで使用できます。

R2006a より前に導入

この情報は役に立ちましたか?