Main Content

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

insertText

イメージまたはビデオへのテキストの挿入

説明

RGB = insertText(I,position,text) は、トゥルーカラーまたはグレースケールのイメージ I にテキストを挿入します。関数はトゥルーカラー イメージを返します。

RGB = insertText(I,position,numericValue) は、入力イメージに数値を挿入します。

RGB = insertText(___,Name=Value) は、前の構文の入力引数の組み合わせに加えて、名前と値の引数を 1 つ以上使用してオプションを指定します。たとえば、FontColor="red" は、挿入するテキストまたは数値を赤色でレンダリングします。

すべて折りたたむ

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

I = imread("board.tif");

小数を含むテキスト文字列を作成します。

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

テキスト ボックスの位置と色を定義します。

position = [23 373; 35 185; 77 107]; 
box_color = {"red","green","yellow"};

対応するボックスの色を指定して各テキスト文字列を挿入し、すべての文字列のフォント サイズ、不透明度、テキストの色を指定します。

RGB = insertText(I,position,text_str,FontSize=18,TextBoxColor=box_color, ...
    BoxOpacity=0.4,TextColor="white");

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

figure
imshow(RGB)
title("Board")

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

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

I = imread("peppers.png");

数値とその xy 位置を定義します。

position =  [1 50; 100 50];
value = [555 pi];

各テキスト ボックスの左下隅をアンカー ポイントとして使用して、数値を挿入します。

RGB = insertText(I,position,value,AnchorPoint="LeftBottom");

数値が挿入されたイメージを表示します。

figure
imshow(RGB)
title("Numeric Values")

Figure contains an axes object. The axes object with title Numeric Values contains an object of type image.

Unicode U+014C をイメージに挿入します。

OWithMacron = native2unicode([hex2dec("C5") hex2dec("8C")],"UTF-8");
RGB = insertText(RGB,[256 50],OWithMacron,font="LucidaSansRegular",TextBoxColor="white");

Unicode 文字が挿入されたイメージを表示します。

figure
imshow(RGB)
title("Numeric Values");

Figure contains an axes object. The axes object with title Numeric Values contains an object of type image.

入力引数

すべて折りたたむ

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

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

Unicode テキスト。文字ベクトル、string スカラー、文字ベクトルの M 要素 cell 配列、または M 要素の string 配列として指定します。M は、position で指定するテキスト位置の数です。関数は、ピクセルを text の値で上書きします。単一の string または文字ベクトルを指定すると、関数はそれを position 行列内のすべての位置に使用します。ほとんどの Unicode フォントには ASCII 文字が含まれます。1 つのフォントで、英語以外の文字と、数値を含む英語の文字を表示できます。

データ型: char | string | cell

数値テキスト。数値スカラーまたは M 要素の数値ベクトルとして指定します。M は、position 内で指定する位置の数です。スカラー値を指定すると、関数は指定されたすべての位置にその値を使用します。この関数は、sprintf の書式 '%0.5g' を使用して、各数値を文字ベクトルに変換します。

データ型: numeric

挿入テキストの位置。M 行 2 列の行列として指定します。M は指定するテキスト位置の数です。また、各行はテキスト ボックスの AnchorPoint の xy 座標を指定します。

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

名前と値の引数

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

例: insertText(I,position,text,Font="Calibri") はフォント フェースを Calibri に設定します。

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

例: insertText(I,position,text,"Font","Calibri") はフォント フェースを Calibri に設定します。

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

データ型: char | string

フォント サイズ。範囲 [1, 200] の正の整数としてピクセル単位で指定します。

データ型: 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 つの色を指定するには、FontColor を色の名前または [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

データ型: logical | 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

テキスト ボックスの基準点。次の値のいずれかとして指定します。

  • "LeftTop"

  • "LeftCenter"

  • "LeftBottom"

  • "CenterTop"

  • "Center"

  • "CenterBottom"

  • "RightTop"

  • "RightCenter"

  • "RightBottom"

アンカー ポイントは、各テキスト ボックス上の相対位置を定義します。position の対応する行で指定されたテキスト ボックスの配置を指定できます。たとえば、position で指定された xy 座標にテキスト ボックスの中心を配置するには、AnchorPointCenter に設定します。

データ型: char | string

出力引数

すべて折りたたむ

出力イメージ。指定のテキストが挿入された M×N× 3 のトゥルーカラー イメージとして返されます。

制限

  • 出力イメージに文字が表示されない場合は、指定したフォントにその文字が含まれていません。異なるフォントを選択します。システムで使用可能なフォントの一覧を取得するには、MATLAB コマンド プロンプトで listTrueTypeFonts と入力します。

  • フォント サイズを大きくすると、前処理の時間とメモリ使用量も増加します。

  • 関数 insertText は、特定の複合文字では機能しません。たとえば、文字コードに対応する 1 つのグリフをレンダリングすると、隣接するグリフの位置、形状またはサイズに影響する場合、テキストを挿入することはできません。

拡張機能

バージョン履歴

R2013a で導入

すべて展開する