Main Content

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

labeloverlay

2 次元イメージ上のラベル行列領域の重ね合わせ

説明

B = labeloverlay(A,L) は、入力イメージ A を、ラベル行列 L 内の非ゼロ ラベルごとに異なる色で融合します。関数 labeloverlay は、背景ピクセルを色で融合しません。

B = labeloverlay(A,BW) は、入力イメージに対して、マスク BWtrue となる場所を 1 つの色で融合します。関数 labeloverlay は、背景ピクセル (false のラベル付き) を色で融合しません。

B = labeloverlay(A,C) は、入力イメージを、categorical 行列 C 内のラベルごとに異なる色で融合します。関数 labeloverlay は、<undefined> カテゴリのピクセルを色で融合しません。

B = labeloverlay(___,Name,Value) は、計算の特性を制御する Name,Value のペアを使用して、融合オーバーレイ イメージ B を計算します。

すべて折りたたむ

イメージを読み取り、関数 superpixels を使用してイメージをセグメント化します。

A = imread('kobi.png');
[L,N] = superpixels(A,20);

セグメンテーションの結果を元のイメージと融合します。融合したイメージを表示します。

B = labeloverlay(A,L);
imshow(B)

グレースケール イメージを読み取り、それを表示します。

A = imread('coins.png');
imshow(A)

バイナリしきい値処理を使用してマスクを作成します。

t = graythresh(A);
BW = imbinarize(A,t);
imshow(BW)

マスクを元のイメージと融合します。融合したイメージを表示します。

B = labeloverlay(A,BW);
imshow(B)

グレースケール イメージを読み取ります。

A = imread('coins.png');

バイナリしきい値処理を使用してマスクを作成します。

BW = imbinarize(A);

イメージの内容に基づいてカテゴリカル ラベルを作成します。

stringArray = repmat("table",size(BW));
stringArray(BW) = "coin";
categoricalSegmentation = categorical(stringArray);

カテゴリカル ラベルを元のイメージと融合します。融合したイメージを表示します。

B = labeloverlay(A,categoricalSegmentation);
imshow(B)

元のイメージを、カテゴリカル セグメンテーションの 1 つのラベルのみと融合します。カラーマップを変更し、ラベルの不透明度を大きくし、結果を表示します。

figure
C = labeloverlay(A,categoricalSegmentation,'IncludedLabels',"coin", ...
    'Colormap','autumn','Transparency',0.25);
imshow(C)

入力引数

すべて折りたたむ

入力イメージ。2 次元グレースケールまたはカラー イメージとして指定します。

データ型: single | double | int8 | int16 | uint8 | uint16

ラベル。非負の整数の行列として指定します。

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

マスク。logical 行列として指定します。

データ型: logical

カテゴリ ラベル。categorical 行列として指定します。

データ型: categorical

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'Colormap','hot' は、'hot' カラーマップの色を使用してラベルを表示します。

カラーマップ。'Colormap' と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。

  • l 行 3 列のカラーマップ。カラーマップの各行の RGB 3 成分は [0, 1] の範囲に正規化しなければなりません。l は、ラベル行列 L、バイナリ マスク BW、または categorical 行列 C のラベルの数です。

  • 関数 colormap に対する有効な入力の 1 つに対応する string または文字ベクトル。labeloverlay は、隣接ラベルがより明確に区別されるように、指定されたカラーマップを置換します。

例: [0.2, 0.1, 0.5; 0.1, 0.5, 0.8]

例: 'hot'

データ型: single | double | char | string

融合したイメージ内に表示するラベル。'IncludedLabels' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

  • 範囲 [0, max(L(:))] の整数または整数のベクトル。既定では、labeloverlay は、すべての非ゼロ ラベルを表示します。

  • string、または string のベクトル。categorical 行列 C のラベルに対応します。既定では、labeloverlay は、定義されたすべてのカテゴリカル ラベルを表示します。

ベクトルに含まれていないラベルは背景と見なされます。たとえば、ベクトル [1,3,4] で、値 2 は、ラベルとして存在している場合、背景と見なされます。

例: [1,3,4]

例: ["flower","stem"]

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | string

表示されるラベルの透明度。'Transparency' と範囲 [0, 1] の数値から構成されるコンマ区切りのペアとして指定します。

  • 0 の値を指定すると、カラー ラベルは完全に不透明になります。

  • 1 の値を指定すると、カラー ラベルは完全に透明になります。

データ型: single | double

出力引数

すべて折りたたむ

融合したイメージ。A と同じサイズの数値行列として返されます。

データ型: uint8

バージョン履歴

R2017b で導入