label2rgb
ラベル行列を RGB イメージに変換
構文
説明
では、この関数で RGB イメージではなく一意の色のリストを返すよう指定できます。RGB
= label2rgb(___,"OutputFormat",outputFormat
)
例
色を使用したラベル行列の要素の強調表示
イメージを読み取り、それを表示します。
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)
入力引数
L
— ラベル イメージ
非負の整数の行列 | categorical 行列
連続領域のラベル イメージ。次のいずれかを指定します。
非負の整数の行列。
0
とラベル付けされたピクセルは背景です。1
とラベル付けされたピクセルは 1 番目のオブジェクトを構成し、2
とラベル付けされたピクセルは 2 番目のオブジェクトを構成する、というように、次々にオブジェクトを構成します。数値ラベル イメージは、watershed
やlabelmatrix
などのラベル付け関数から取得できます。categorical 行列。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| categorical
cmap
— カラーマップ
"jet"
(既定値) | c 行 3 列の行列 | カラーマップ関数 | ハンドル
生成されるカラー イメージ RGB
で使用されるカラーマップ。次のいずれかとして指定します。
値 | 説明 |
---|---|
データ型が double の c 行 3 列の行列 | 各 c カラーを RGB 3 成分として指定するカラーマップ行列。c は、ラベル行列 c が numlabels より大きい場合、 |
カラーマップ関数 | MATLAB® カラーマップ関数の名前。 |
カラーマップ ハンドル | カラーマップ関数のハンドル ( |
zerocolor
— 塗りつぶし色
[1 1 1]
(白) (既定値) | 3 要素ベクトル | "b"
| "c"
| "g"
塗りつぶし色。RGB 3 成分を表す 3 要素ベクトルを指定するか、数値ラベル イメージの場合は次のカラーの省略形のいずれかを指定します。label2rgb
はこの塗りつぶし色を、数値ラベル イメージの場合はラベル 0
に、カテゴリカル ラベル イメージの場合はラベル <undefined>
に適用します。
値 | 色 |
---|---|
"b" | blue |
"c" | cyan |
"g" | green |
"k" | black |
"m" | magenta |
"r" | red |
"w" | white |
"y" | yellow |
order
— 色の順序
"noshuffle"
(既定値) | "shuffle"
色の順序。"noshuffle"
または "shuffle"
を指定します。"noshuffle"
の順序は、カラーマップの色をラベル行列領域に番号順で割り当てます。"shuffle"
の順序は、疑似ランダムにカラーマップの色を割り当てます。
出力引数
RGB
— RGB データ
数値行列
RGB データ。数値行列として返されます。
データ型: uint8
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
label2rgb
では C コードの生成がサポートされています (MATLAB Coder™ が必要)。詳細については、イメージ処理のコード生成を参照してください。データ型 categorical の入力ラベル イメージはサポートされていません。
コードを生成する際、標準構文
RGB = label2rgb(L,cmap,zerocolor,order)
を使用して最適な結果を得るには、以下を行います。少なくとも 2 つの入力引数、ラベル行列
L
およびカラーマップ行列cmap
を渡します。cmap
は、データ型がdouble
の c 行 3 列の行列でなければなりません。MATLAB のカラーマップ関数や、カラーマップ関数の関数ハンドルの名前は指定できません。背景色
zerocolor
をいずれかの領域と同じ色に設定した場合、label2rgb
では警告が表示されません。order
に値を指定する場合は、"noshuffle"
でなければなりません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
データ型 categorical の入力ラベル イメージはサポートされていません。
コードを生成する際、標準構文
RGB = label2rgb(L,cmap,zerocolor,order)
を使用して最適な結果を得るには、以下を行います。少なくとも 2 つの入力引数、ラベル行列
L
およびカラーマップ行列cmap
を渡します。cmap
は、データ型がdouble
の c 行 3 列の行列でなければなりません。MATLAB のカラーマップ関数や、カラーマップ関数の関数ハンドルの名前は指定できません。背景色
zerocolor
をいずれかの領域と同じ色に設定した場合、label2rgb
では警告が表示されません。order
に値を指定する場合は、"noshuffle"
でなければなりません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入R2022b: GPU Coder を使用した CUDA コードの生成
label2rgb
は、最適化された CUDA® コードの生成をサポートするようになりました (GPU Coder™ が必要)。
R2021b: スレッドベース環境のサポート
label2rgb
は、スレッドベースの環境をサポートするようになりました。
参考
bwconncomp
| bwlabel
| bwlabeln
| colormap
| ismember
| labelmatrix
| watershed
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)