Main Content

Draw Shapes

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

  • Draw Shapes block

ライブラリ:
Computer Vision Toolbox / Text & Graphics

説明

Draw Shapes ブロックは、ピクセル値を上書きして、イメージ上に四角形、ライン、多角形または円を描画します。その結果、形状が出力イメージに描画されます。このブロックは、Bresenham の線分描画アルゴリズムを使用してライン、多角形および四角形を描画し、Bresenham の円描画アルゴリズムを使用して円を描画します。出力信号のサイズとデータ型は、[Image][R][G] および [B] 端子への入力信号と同じになります。

形状の塗りつぶしや境界線の色は、入力端子を使用して設定するか、パラメーターを使用し、値を手動で入力して設定することができます。カラー パラメーターを使用して、四角形、ライン、多角形または円の外観を指定します。

端子

入力

すべて展開する

入力イメージ。強度値の M 行 N 列の行列、または 3 つの色平面をもつカラー値の M×N×3 の行列として指定します。

入力がビデオ ストリームの場合、ブロックはそれをフレームごとに処理します。

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

イメージまたはビデオ フレームの赤のカラー チャネル。M 行 N 列の行列として指定します。RG および B 端子の次元数とデータ型は同じでなければなりません。

依存関係

この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号] に設定します。

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

入力のイメージまたはビデオ フレームの緑のカラー チャネル。M 行 N 列の行列として指定します。RG および B 端子の次元数とデータ型は同じでなければなりません。

依存関係

この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号] に設定します。

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

入力のイメージまたはビデオ フレームの青のカラー チャネル。M 行 N 列の行列として指定します。RG および B 端子の次元数とデータ型は同じでなければなりません。

依存関係

この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号] に設定します。

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

入力に描画される入力形状の座標。点の形式は、[形状] パラメーターで指定した形状のタイプによって異なります。

  • 四角形 — [x y width height] の形式の M 行 4 列の行列。M は四角形の数です。

    形状Pts 端子への入力描画される形状
    1 つの四角形


    [x y width height] 形式の 4 要素の行ベクトル。ここで、

    • xy は四角形の左上隅を示す座標です。

    • width および height パラメーターは、四角形の幅と高さ (ピクセル単位) です。widthheight の値は 0 より大きくなければなりません。

    M 個の四角形

    次の形式の M 行 4 列の行列。

    [x1y1width1height1x2y2width2height2xMyMwidthMheightM]

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

  • ライン — [x1, y1, x2, y2,…,xL, yL] の形式の M 行 2L 列の行列。M はポリラインの数です。

    形状Pts 端子への入力描画される形状
    1 本のライン

    [x1 y1 x2 y2] 形式の 4 要素の行ベクトル。ここで、

    • 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 の倍数でない場合、ブロックはエラー メッセージを生成します。

  • 多角形 — [x1, y1, x2, y2,…,xL, yL] の形式の M 行 2L 列の行列。M は多角形の数です。点は、多角形を形成する順序どおりに指定します。

    形状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 未満の場合や 2 の倍数でない場合、ブロックはエラーを生成します。

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

    次の形式の M 行 2L 列の行列

    [x11y11x12y12x1Ly1Lx21y21x22y22x2Ly2LxM1yM1xM2yM2xMLyML]

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

    多角形の 1 つに含まれるセグメントの数が L 未満の場合、最後の頂点の座標を繰り返して行列を埋めます。

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

  • — [x y radius] 形式の M 行 3 列の行列。M は円の数です。

    形状Pts 端子への入力描画される形状
    1 つの円


    [x y radius] 形式の 3 要素の行ベクトル。ここで、

    • xy は円の中心を示す座標です。

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

    M 個の円

    次の形式の "M 行 3 列" の行列。

    [xctr1yctr1radius1xctr2yctr2radius2xctrMyctrMradiusM]

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

依存関係

  • 倍精度浮動小数点は、Image 端子、または RG および B 端子への入力が浮動小数点の場合にのみサポートされます。

  • 単精度浮動小数点は、[Image] 端子、または [R][G] および [B] 端子への入力が浮動小数点の場合にのみサポートされます。

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

関心領域。[x y width height] 形式の 4 要素ベクトルとして指定します。この領域は、形状を描画する四角形の領域を定義します。最初の 2 つの要素は領域の左上隅の 1 ベースの座標を表します。残りの 2 つの要素は領域の幅と高さを表します。

依存関係

この端子を有効にするには、[形状の描画領域] パラメーターを [関心領域を端子により指定] に設定します。

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

形状の色。3 要素ベクトルまたは M 行 3 列の行列として指定します。M は形状の数で、3 は色平面の数を表します。M 個の形状各々に異なる色を指定することも、すべての形状に 1 つの色を指定することもできます。

依存関係

この端子を有効にするには、[境界線の色のソース] パラメーターまたは [塗りつぶし色のソース] パラメーターを [入力端子] に設定します。

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

出力

すべて展開する

出力イメージ。M 行 N 列の行列または M×N×3 の配列として返されます。出力イメージの次元は、入力イメージと同じです。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

パラメーター

すべて展開する

[メイン] タブ

イメージに描画する 1 つ以上の形状。次のいずれかとして指定します。

  • 四角形 — 指定された形状座標を使用して、入力のイメージまたはビデオ フレームに 1 つ以上の四角形を描画します。

  • ライン — 指定された形状座標を使用して、入力のイメージまたはビデオ フレームに 1 つ以上のラインを描画します。

  • 多角形 — 指定された形状座標を使用して、入力のイメージまたはビデオ フレームに 1 つ以上の多角形を描画します。

  • — 指定された形状座標を使用して、入力のイメージまたはビデオ フレームに 1 つ以上の円を描画します。

[形状の塗りつぶし] を選択すると、形状を塗りつぶすためのカラー パラメーターが有効になります。

メモ

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

描画する形状のライン幅を正のスカラーとして指定します。

塗りつぶし色の値の入力ソースを指定します。[塗りつぶし色のソース] を次のいずれかから選択します。

  • ダイアログにより指定[塗りつぶし色] パラメーターを使用してカラー値を指定します。

  • 入力端子[Clr] 端子を使用してカラー値を指定します。

依存関係

このパラメーターを有効にするには、[形状の塗りつぶし] を選択します。

形状の塗りつぶし色を [黒][白][ユーザー指定の値] のいずれかとして指定します。[ユーザー指定の値] は、スカラーまたは 3 要素ベクトルにできます。強度値を指定するにはスカラーを使用し、RGB カラー値を指定するには 3 要素ベクトルを使用します。

1 つの形状または複数の形状を同じ色で塗りつぶす場合のカラー値複数の形状をそれぞれ独自の色で塗りつぶす場合のカラー値
スカラー強度値R 要素ベクトル (R は形状の数)。
3 要素の RGB ベクトル R 行 3 列の行列 (3 は色平面の数、R は形状の数)。

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

依存関係

このパラメーターを有効にするには、[形状の塗りつぶし] パラメーターを選択します。

境界線のカラー値の入力ソースを指定します。[境界線の色のソース] を次のいずれかから選択します。

  • ダイアログにより指定[境界線の色] パラメーターを使用してカラー値を指定します。

  • 入力端子[Clr] 端子を使用してカラー値を指定します。

形状の境界線の色を [黒][白][ユーザー指定の値] のいずれかとして指定します。[ユーザー指定の値] は、スカラーまたは 3 要素ベクトルにできます。強度値を指定するにはスカラーを使用し、RGB カラー値を指定するには 3 要素ベクトルを使用します。

1 つの形状または複数の形状を同じ色で描画する場合の色の値複数の形状をそれぞれ独自の色で描画する場合の色の値
スカラー強度値R 要素ベクトル (R は形状の数)。
3 要素の RGB ベクトル R 行 3 列の行列 (3 は色平面の数、R は形状の数)。

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

境界線の描画または形状の塗りつぶしに使用するカラー値をスカラーまたは 3 要素ベクトルとして指定します。強度値を指定するにはスカラーを使用し、RGB カラー値には 3 要素ベクトルを使用します。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[境界線の色] パラメーターまたは [塗りつぶし色] パラメーターを [ユーザー指定の値] に設定します。

色の不透明度を [0, 1] の範囲の正の値として指定します。0 は透明、1 は不透明です。

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

依存関係

このパラメーターを有効にするには、[形状の塗りつぶし] パラメーターを選択します。

ライン、多角形、または円に対して平滑化を実行します。

依存関係

  • このパラメーターを有効にするには、[形状] パラメーターを [ライン][多角形] または [円] のいずれかに設定します。

指定した形状を描画する領域の範囲を指定します。次のいずれかの値を選択します。

  • イメージ全体 — イメージ全体に形状を描画します。

  • 関心領域を端子により指定 — 入力 [ROI] 端子によって指定された ROI 内に形状を描画します。

入力イメージの指定に使用する入力端子の数を指定します。次のいずれかの値を選択します。

  • 1 つの多次元信号 — 1 つの端子を使用して強度またはカラー イメージを指定します。ブロックは、M×N×3 のカラー イメージまたは M×N の強度イメージ用に [Image] 端子を有効にします。

  • 個別のカラー信号 — 入力カラー イメージの赤、緑、青の各色平面を指定します。このブロックは、[R][G]、および [B] 入力端子を有効にします。各端子は、RGB カラー イメージの M×N の平面を受け入れます。

[データ型] タブ

固定小数点ブロック パラメーターの詳細については、ブロックの固定小数点属性の指定 (DSP System Toolbox)を参照してください。

ブロックの特性

データ型

Boolean | double | fixed point | integer | single

多次元信号

はい

可変サイズの信号

はい

拡張機能

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

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入