Main Content

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

insertObjectAnnotation

トゥルーカラー イメージ、グレースケール イメージ、またはビデオへの注釈付け

説明

RGB = insertObjectAnnotation(I,shape,position,label) は、グレースケール イメージまたはトゥルーカラー イメージの指定された position に、指定された shapelabel で注釈を付けます。関数はトゥルーカラー イメージを返します。

___ = insertObjectAnnotation(___,Name=Value) は、前の構文に加えて、名前と値の引数を 1 つ以上使用してオプションを指定します。たとえば、FontSize=18 は、注釈のフォント サイズを 18 に設定します。

すべて折りたたむ

イメージをワークスペースに読み取ります。

I = imread("board.tif");

浮動小数点数を使用して信頼度の値ラベルを作成します。

label_str = cell(3,1);
conf_val = [85.212 98.76 78.342];
for ii = 1:3
    label_str{ii} = ['Confidence: ' num2str(conf_val(ii), '%0.2f') '%'];
end

[x y width height] の形式を使用して、ラベルに関連付ける四角形の境界ボックスの位置を設定します。

position = [23 373 60 66; 35 185 77 81; 77 107 59 26];

イメージにラベルを挿入します。

RGB = insertObjectAnnotation(I,"rectangle",position,label_str,TextBoxOpacity=0.9,FontSize=18);

注釈付きのイメージを表示します。

figure
imshow(RGB)
title("Annotated chips")

Figure contains an axes object. The axes object with title Annotated chips contains an object of type image.

イメージをワークスペースに読み取ります。

I = imread("coins.png");

ラベルに関連付ける円形境界ボックスのイメージ上の位置を設定します。各行の最初の 2 つの値は円の中心座標 (x,y) を指定し、3 番目の値は半径になります。

position = [96 146 31; 236 173 26];

ラベルの値が整数の 5 と 10 で表示されるように設定します。これらの値は、米国の通貨をそれぞれニッケル (5 セント硬貨) とダイム (10 セント硬貨) の形式で表すものです。

label = [5 10];

イメージに注釈を挿入します。

RGB = insertObjectAnnotation(I,"circle",position,label,LineWidth=3,AnnotationColor=["cyan","yellow"],FontColor="black");

注釈付きのイメージを表示します。

figure
imshow(RGB)
title("Annotated Coins")

Figure contains an axes object. The axes object with title Annotated Coins contains an object of type image.

入力引数

すべて折りたたむ

入力イメージ。M×N×3 のトゥルーカラー イメージまたは M 行 N 列のグレースケール イメージとして指定します。

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

注釈の形状。"rectangle""circle"、または "projected-cuboid" として指定します。"rectangle" の注釈を指定する場合は、軸方向に整列したまたは回転した四角形の位置を指定します。

データ型: char | string

形状の位置。次の表に示すように、形状のタイプに従って指定します。

形状位置

rectangle

1 つ以上の軸に揃えられた四角形または塗りつぶされた四角形の場合、M 行 4 列の数値行列として指定します。ここで、各行は [xywidthheight] 形式の四角形を指定します。

  • M は軸に平行な四角形の数です。

  • x と y は四角形の左上隅を指定します。

  • w は四角形の幅、つまり x 軸に沿った長さを指定します。

  • h は四角形の高さ、つまり y 軸に沿った長さを指定します。

[x1y1width1height1x2y2width2height2xMyMwidthMheightM]

Two rectangles for M=2,specified by x, y, width, and height labeled for each rectangle.

1 つ以上の回転した四角形の場合、空間座標で M 行 5 列の数値行列として指定します。ここで、各行は [xctr yctr w h yaw] 形式の回転した四角形を指定します。

  • M は回転した四角形の数です。

  • xctr および yctr は四角形の中心を指定します。

  • w は四角形の幅、つまり、回転前の x 軸に沿った長さを指定します。

  • h は四角形の高さ、つまり、回転前の y 軸に沿った長さを指定します。

  • yaw は回転角度 (度単位) を指定します。回転は四角形の中心を軸として時計回りに正となります。

Square rectangle rotated by -30 degrees.

circle

1 つ以上の円の場合、空間座標を M 行 3 列の数値行列として指定します。ここで、各行は [xctr yctr radius] 形式の円を指定します。

  • M は円の数です。

  • xctr と yctr は円の中心を指定します。

  • radius は円の半径を指定します。

[xctr1yctr1radius1xctr2yctr2radius2xctrMyctrMradiusM]

Two circles for M=2, with radius and center points defined.

projected-cuboid

1 つ以上の投影された直方体の場合、空間座標で 8×2×M の配列または M 行 8 列の行列として指定します。ここで、M は投影された直方体の数です。

8×2×M の配列として指定する場合、各行には投影された直方体の頂点の位置 [x y] が含まれていなければなりません。頂点が繋がって 6 つの面をもつ直方体を形成します。入力頂点の順序は、図に示されている順序と一致しなければなりません。

M 行 8 列の行列として指定する場合、各行は投影された直方体の前面と背面の寸法を [x1 y1 w1 h1 x2 y2 w2 h2] の形式で指定します。ここで、[x1 y1] と [x2 y2] はそれぞれ前面と背面の左上の座標を指定し、[w1 h1] と [w2 h2] は対応する幅と高さを指定します。

Cuboid showing numbered vertices. The number starts with 1 assigned to the top right corner of the front facing rectangle. Going counter-clockwise 1-4 for the top face of cuboid, then 5-8 for the bottom face. The positive Z-axis goes up, the positive Y-axis goes to the right and the positive X-axis faces forward.

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

形状に関連付けるラベル。M 要素の数値ベクトル、string 配列、カテゴリカル ラベルのベクトル、または ASCII 文字ベクトルの cell 配列として指定します。文字ベクトル、string スカラー、またはカテゴリ ラベルを使用する場合は、それらを ASCII 文字として符号化しなければなりません。cell 配列を指定する場合、配列の長さは指定した形状の位置の数と同じでなければなりません。すべての形状に対する単一のラベルを、数値スカラー、string スカラー、またはスカラーのカテゴリカル ラベルを使用して指定できます。

例: [5 10] は、最初の形状にラベル 5 を付け、2 番目の形状にラベル 10 を付けます。

名前と値の引数

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

例: insertObjectAnnotation(I,"rectangle",position,label,FontSize=18); は、注釈の挿入に使用するフォント サイズを 18 に設定します。

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

例: insertObjectAnnotation(I,"rectangle",position,label,"FontSize","18"); は、注釈の挿入に使用するフォント サイズを 18 に設定します。

ラベル テキストのフォント フェース。文字ベクトルまたは string スカラーとして指定します。フォント フェースは、システムにインストールされている使用可能な TrueType フォントでなければなりません。システム上で使用可能なフォントの一覧を取得するには、MATLAB® コマンド プロンプトから関数 listTrueTypeFonts を使用します。

データ型: char | string

ラベル テキストのフォント サイズ。[8 72] の範囲の点に対応する整数として指定します。

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

形状の境界線の幅。正の整数としてピクセル単位で指定します。

注釈の色。色の省略名、色の名前、色名のベクトル、RGB 3 成分の 3 列の行列として指定します。

サポートされている色の表には範囲 [0, 1] で RGB 強度を掲載していますが、RGB 3 成分の指定は選択するデータ型の範囲で行わなければなりません。たとえば、この引数を uint8 の値の行列として指定する場合、各強度値を [0, 255] の範囲に変換しなければなりません。掲載されている強度値を uint8 データ型に変換するには、コード uint8(255*intensity) を使用します。ここで、intensity は、表に掲載されている RGB 3 成分の値です。

マーカーごとに異なる色を指定したり、すべてのマーカーに 1 つの色を指定したりできます。すべてのマーカーに 1 つの色を指定するには、AnnotationColor を色の名前または [R G B] ベクトルとして指定します。

仕様形式
すべての形状 (またはマーカー) に 1 つの色を指定

色の省略名または色の名前

"r"

"red"

RGB 3 成分

[1 0 0]1-by-3 grid, with columns labeled r,g,b respectively.

各形状 (またはマーカー) の色を指定

色名のベクトル

["red","yellow","blue"]

RGB 3 成分の 3 列の行列

[1 0 0
 0 1 1
 1 0 1
 1 1 1]
M-by-3 grid, with columns labeled r,g,b respectively.

サポートされている色を次の表に示します。

色の名前省略名RGB 3 成分外観
"red""r"[1 0 0]

Sample of the color red

"green""g"[0 1 0]

Sample of the color green

"blue""b"[0 0 1]

Sample of the color blue

"cyan" "c"[0 1 1]

Sample of the color cyan

"magenta""m"[1 0 1]

Sample of the color magenta

"yellow""y"[1 1 0]

Sample of the color yellow

"black""k"[0 0 0]

Sample of the color black

"white""w"[1 1 1]

Sample of the color white

データ型: cell | char | uint8 | uint16 | int16 | double | single

フォント カラー。色の省略名、色の名前、色名のベクトル、RGB 3 成分の 3 列の行列として指定します。

サポートされている色の表には範囲 [0, 1] で RGB 強度を掲載していますが、RGB 3 成分の指定は選択するデータ型の範囲で行わなければなりません。たとえば、この引数を uint8 の値の行列として指定する場合、各強度値を [0, 255] の範囲に変換しなければなりません。掲載されている強度値を uint8 データ型に変換するには、コード uint8(255*intensity) を使用します。ここで、intensity は、表に掲載されている RGB 3 成分の値です。

フォント文字列ごとに異なる色を指定したり、すべての文字列に 1 つの色を指定したりできます。すべての文字列に 1 つの色を指定するには、FontColor を色の名前または [R G B] ベクトルとして指定します。

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

テキスト ラベル ボックスの背景の不透明度。[0, 1] の範囲のスカラーとして指定します。値 0 はラベル テキスト ボックスの背景を完全な透明としてレンダリングし、値 1 は完全な不透明としてレンダリングします。

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

元の方向インジケーター。数値または logical の 1 (true) または 0 (false) として指定します。値 1 (true) では、境界ボックスの矢印の注釈を使用して、回転した四角形の元の方向を表示します。元の方向は回転角度ゼロとして定義されます。値 0 (false) では、矢印の注釈を表示しません。名前と値の引数 ShowOrientation は、回転した四角形にのみ適用されます。

データ型: logical | integer

出力引数

すべて折りたたむ

出力イメージ。M×N×3 のトゥルーカラー イメージとして返されます。

拡張機能

バージョン履歴

R2012b で導入

すべて展開する