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

Draw Shapes

イメージ上への四角形、ライン、多角形または円の描画

ライブラリ

Text & Graphics

visiontextngfix

説明

Draw Shapes ブロックは、ピクセル値を上書きして、イメージ上に複数の四角形、ライン、多角形または円を描画します。結果として、形状が出力イメージに埋め込まれます。

このブロックは、Bresenham の線分描画アルゴリズムを使用して、ライン、多角形および四角形を描画します。また、Bresenham の円描画アルゴリズムを使用して、円を描画します。

出力信号のサイズとデータ型は、Image、R、G および B 端子への入力と同じになります。

入力端子または入力ダイアログを通じて、形状の塗りつぶしまたは境界線の色を設定できます。色の入力または色のパラメーターを使用して、四角形、ライン、多角形または円の外観を決定します。

端子の説明

端子入力/出力サポートされているデータ型サポートされている複素数値

Image

M 行 N 列の強度値の行列、または M × N × P の色値 (P は色平面の数)

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • 固定小数点

  • boolean

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

なし

R、G、B

入力 RGB ビデオ ストリームの 1 つの平面であるスカラー、ベクトルまたは行列。R、G および B 端子への入力は、どれも同じ次元とデータ型でなければなりません。

Image 端子と同じ

なし

Pts

整数値を使用して、1 ベースの形状座標を定義します。非整数値を入力すると、ブロックによって最も近い整数に丸められます。

  • 倍精度浮動小数点 (I 端子または R、G および B 端子への入力が浮動小数点の場合のみサポート)

  • 単精度浮動小数点 (I 端子または R、G および B 端子への入力が浮動小数点の場合のみサポート)

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

なし

ROI

形状を描画する四角形領域を定義する、整数の 4 要素ベクトル [x y 幅 高さ]。最初の 2 つの要素は領域の左上隅の 1 ベースの座標を表します。次の 2 要素は領域の幅と高さを表します。

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

なし

Clr

この端子を使用して、形状の色を動的に指定できます。

P 要素のベクトル、または M 行 P 列の行列 (M は形状の数、P は色平面の数)。

形状ごとに色 (RGB) を指定したり、すべての形状に 1 つの色を指定したりできます。

Image 端子と同じ

なし

出力

形状を含むピクセル値のスカラー、ベクトル、または行列

Image 端子と同じ

なし

形状とラインの描画

[形状] パラメーターと Pts 端子を使用して、次の形状またはラインを描画します。

四角形の描画

Draw Shapes ブロックでは、1 つ以上の四角形を描画できます。[形状] パラメーターを [四角形] に設定してから、表の手順に従って Pts 端子への入力を指定すると、目的の数の四角形が得られます。

形状Pts 端子への入力描画される形状
1 つの四角形4 要素の行ベクトル
[x y width height] ここで、
  • xy は四角形の左上隅を示す 1 ベースの座標。

  • widthheight は四角形の幅と高さ (ピクセル単位)。widthheight の値は 0 より大きくなければなりません。

M 個の四角形

M 行 4 列の行列

[x1y1width1height1x2y2width2height2xMyMwidthMheightM]

行列のそれぞれの行は異なる 1 つの四角形に対応し、1 つの四角形を表すベクトルと同じ形式です。

ラインとポリラインの描画

Draw Shapes ブロックでは、1 つのライン、または 1 つ以上のポリラインのいずれかを描画できます。一連の接続されたライン セグメントが含まれるポリラインを描画できます。[形状] パラメーターを [ライン] に設定してから、表の手順に従って Pts 端子への入力を指定すると、目的の形状が得られます。

形状Pts 端子への入力描画される形状
1 本のライン4 要素の行ベクトル [x1 y1 x2 y2]。ここで、
  • x1y1 はラインの始まりを示す座標です。

  • x2y2 はラインの終わりを示す座標です。

M 本のライン

M 行 4 列の行列

[x11y11x12y12x21y21x22y22xM1yM1xM2yM2]

行列のそれぞれの行は異なる 1 本のラインに対応し、1 本のラインを表すベクトルと同じ形式です。

(L-1) 個のセグメントからなる 1 つのポリラインサイズ 2L のベクトル。ここで L は頂点の数を示し、[x1, y1, x2, y2, ..., xL, yL] の形式を取ります。
  • x1 と y1 は、最初のライン セグメントの始まりの座標です。

  • x2 と y2 は、最初のライン セグメントの終わりと 2 番目のライン セグメントの始まりを示す座標です。

  • xL と yL は、(L-1) 番目のライン セグメントの終わりを示す座標です。

ポリラインは最初と最後の頂点がつながれていないため、常に (L-1) 個のセグメントを含みます。行の数が 2 未満の場合や 2 の倍数でない場合、ブロックはエラー メッセージを生成します。

(L-1) 個のセグメントからなる M 個のポリライン

M 行 2L 列の行列

[x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

行列のそれぞれの行は異なる 1 つのポリラインに対応し、1 つのポリラインを表すベクトルと同じ形式です。1 つのポリラインに含めるセグメントの数を (L–1) より小さい値に指定する場合、最後の頂点の座標を繰り返して行列を埋めなければなりません。

行の数が 2 未満の場合や 2 の倍数でない場合、ブロックはエラー メッセージを生成します。

[アンチエイリアシングの使用] チェック ボックスをオンにすると、ブロックによってエッジ平滑化アルゴリズムが適用されます。

Draw Shapes ブロックを使用したラインの描画の例については、イメージ内のラインの検出を参照してください。

多角形の描画

Draw Shapes ブロックでは、1 つ以上の多角形を描画できます。[形状] パラメーターを [多角形] に設定してから、表の手順に従って Pts 端子への入力を指定すると、目的の数の多角形が得られます。

形状Pts 端子への入力描画される形状
L 個のライン セグメントからなる 1 つの多角形サイズ 2L の行ベクトル。ここで L は頂点の数を示し、[x1 y1 x2 y2 ... xL yL] の形式を取ります。
  • x1 と y1 は、最初のライン セグメントの始まりの座標です。

  • x2 と y2 は、最初のライン セグメントの終わりと 2 番目のライン セグメントの始まりを示す座標です。

  • xL と yL は、(L-1) 番目のライン セグメントの終わりと L 番目のライン セグメントの始まりを示す座標です。

ブロックは [x1 y1][xL yL] に接続して多角形を完成させます。行の数が負の値の場合、または 2 の倍数にならない場合には、ブロックはエラーを生成します。

あるラインのライン セグメントの最大数が L である M 個の多角形

M 行 2L 列の行列

[x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

行列のそれぞれの行は異なる 1 つの多角形に対応し、1 つの多角形を表すベクトルと同じ形式です。一部の多角形が他より短い場合には、終わりの座標を繰り返して多角形行列を埋めます。

行の数が 2 未満の場合や 2 の倍数でない場合、ブロックはエラー メッセージを生成します。

円の描画

Draw Shapes ブロックでは、1 つ以上の円を描画できます。[形状] パラメーターを [円] に設定してから、表の手順に従って Pts 端子への入力を指定すると、目的の数の円が得られます。

形状Pts 端子への入力描画される形状
1 つの円3 要素の行ベクトル
[x y radius]。ここで、
  • xy は円の中心を示す座標です。

  • radius は円の直径で、0 より大きくなければなりません。

M 個の円

"M 行 3 列" の行列

[x1y1radius1x2y2radius2xMyMradiusM]

ここで、行列のそれぞれの行は異なる 1 つの円に対応し、1 つの円を表すベクトルと同じ形式です。

パラメーター

形状

描画する形状のタイプを指定します。選択肢は、[四角形][ライン][多角形] または [円] です。

[アンチエイリアシングの使用] チェック ボックスをオンにして [ライン][多角形] または [円] のいずれかを選択すると、ブロックによって平滑化アルゴリズムが実行されます。ブロックは、関数 poly2mask と同様のアルゴリズムを使用して、描画するサブピクセルを決定します。

形状の塗りつぶし

強度値または色で形状を塗りつぶします。

このチェック ボックスをオンにすると、[塗りつぶし色のソース][塗りつぶし色] および [不透明度係数 (0 ~ 1)] パラメーターがダイアログ ボックスに表示されます。

メモ

コード生成時に [形状の塗りつぶし] チェック ボックスをオンにしている場合、ブロック入力の語長が 16 ビットを上回ることはありません。

[形状の塗りつぶし] チェック ボックスをオフにしている場合、[境界線の色のソース] および [境界線の色] パラメーターが設定可能になります。

塗りつぶし色のソース

塗りつぶし色のソースの値を [ダイアログにより指定] または [入力端子] のいずれかに指定します。このパラメーターは、[形状の塗りつぶし] チェック ボックスがオンになっている場合に表示されます。[入力端子] を選択すると、ブロックに色入力端子 [clr] が表示されます。

塗りつぶし色

形状の塗りつぶしの色を指定します。[黒][白] または [ユーザー指定の値] のいずれかを指定できます。[ユーザー指定の値] を選択すると、[カラー値] パラメーターがダイアログ ボックスに表示されます。このパラメーターは、[形状の塗りつぶし] チェック ボックスがオンになっている場合に表示されます。

境界線の色のソース

境界線の色のソースの値を [ダイアログにより指定] または [入力端子] のいずれかに指定します。形状の塗りつぶしオプションが選択されていない場合、境界線の色オプションが表示されます。[境界線の色のソース] は、[形状の塗りつぶし] チェック ボックスがオンになっている場合に表示されます。[入力端子] を選択すると、ブロックに色入力端子 [clr] が表示されます。

境界線の色

形状の境界線の外観を指定します。[黒][白] または [ユーザー指定の値] のいずれかを指定できます。[ユーザー指定の値] を選択すると、[カラー値] パラメーターがダイアログ ボックスに表示されます。このパラメーターは、[形状の塗りつぶし] チェック ボックスがオフになっている場合に表示されます。

カラー値

形状の境界線または塗りつぶしの強度または色の値を指定します。このパラメーターは、[境界線の色] または [塗りつぶし色] パラメーターを [ユーザー指定の値] に設定している場合に適用されます。このパラメーターは調整可能です。

次の表で、ブロック入力と描画する形状の数に基づいて、どのように色の値を入力するか説明します。

ブロック入力1 つの形状または複数の形状を同じ色で描画する場合の色の値複数の形状をそれぞれ独自の色で描画する場合の色の値
強度イメージスカラー強度値R 要素ベクトル (R は形状の数)
カラー イメージP 要素ベクトル (P は色平面の数)R 行 P 列の行列 (P は色平面の数、R は形状の数)

[カラー値] パラメーターの各値について、入力イメージのデータ型で示される最小値と最大値の間の数値を入力します。この範囲外の値を入力すると、ブロックによってエラー メッセージが表示されます。

不透明度係数 (0 ~ 1)

形状内部のシェーディングの不透明度を指定します。0 は透明、1 は不透明です。このパラメーターは、[形状の塗りつぶし] チェック ボックスがオンになっている場合に表示されます。

次の表で、ブロック入力と描画する形状の数に基づいたこのパラメーターへの入力内容について説明します。このパラメーターは、[塗りつぶし] チェック ボックスがオンになっている場合に適用されます。

1 つの形状または複数の形状を同じ色で描画する場合の不透明度係数の値複数の形状をそれぞれ独自の色で描画する場合の不透明度係数の値
スカラー強度値R 要素ベクトル (R は形状の数)
形状の描画領域

形状を描画する領域のタイプを指定します。次のいずれかを定義します。

  • イメージ全体: イメージ全体に形状を描画できます。

  • 関心領域を端子により指定。このオプションを選択すると、ブロックに ROI 端子が表示されます。整数値の 4 要素ベクトル [x y width height] を入力します。ここで、[x y] は領域の左上隅の座標です。

    メモ

    イメージの外側の値を指定した場合、ブロックによって値がイメージの境界に設定されます。

アンチエイリアシングの使用

ライン、多角形または円に対して平滑化アルゴリズムを実行します。このパラメーターは、[形状] パラメーターとして [ライン][多角形] または [円] を選択した場合に表示されます。

イメージ信号

カラー ビデオ信号の入出力方法を指定します。次のいずれかを選択します。

  • 1 つの多次元信号: ブロックが M x N x P のカラー ビデオ信号を受け入れます。P は、1 つの端子での色平面の数です。

  • 個別のカラー信号: ブロックに追加の端子が表示されます。それぞれの端子が RGB ビデオ ストリームの 1 つの M x N 平面を受け入れます。

参考

Draw Markers

Computer Vision System Toolbox™ ソフトウェア

Insert Text

Computer Vision System Toolbox ソフトウェア

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

R2006a より前に導入