このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
insertShape
イメージまたはビデオへの形状の挿入
説明
例
イメージへの円と塗りつぶし形状の挿入
イメージをワークスペースに読み取ります。
I = imread("peppers.png");
境界線の幅が 5 ピクセルの円をイメージ上に配置します。
RGB = insertShape(I,"circle",[150 280 35],LineWidth=5);
塗りつぶされた三角形と塗りつぶされた六角形をイメージ上に配置します。
pos_triangle = [183 297 302 250 316 297]; pos_hexagon = [340 163 305 186 303 257 334 294 362 255 361 191]; RGB = insertShape(RGB,"filled-polygon",{pos_triangle pos_hexagon}, ... ShapeColor=["white","green"],Opacity=0.7);
結果のイメージを表示します。
imshow(RGB)
入力引数
I
— 入力イメージ
M×N×3 のトゥルーカラー イメージ | M 行 N 列のグレースケール イメージ
入力イメージ。M×N×3 のトゥルーカラー イメージまたは M 行 N 列のグレースケール イメージとして指定します。
データ型: single
| double
| int16
| uint8
| uint16
shape
— 形状のタイプ
"rectangle"
| "filled-rectangle"
| "line"
| "polygon"
| "filled-polygon"
| "circle"
| "filled-circle"
| "projected-cuboid"
形状のタイプ。"rectangle"
、"filled-rectangle"
、"line"
、"polygon"
、"filled-polygon"
、"circle"
、"filled-circle"
、または "projected-cuboid"
として指定します。
データ型: char
| string
position
— 形状の位置
行列 | ベクトル | cell 配列
形状の位置。次の表に示すように、形状のタイプに従って指定します。
形状 | 位置 | 例 |
---|---|---|
| 1 つ以上の軸に揃えられた四角形または塗りつぶされた四角形の場合、M 行 4 列の数値行列として指定します。ここで、各行は 形式の四角形を指定します。
| |
1 つ以上の回転した四角形の場合、空間座標で M 行 5 列の数値行列として指定します。ここで、各行は [xctr yctr w h yaw] 形式の回転した四角形を指定します。
| ||
| 1 つ以上の円の場合、空間座標を M 行 3 列の数値行列として指定します。ここで、各行は [xctr yctr radius] 形式の円を指定します。
| |
| 1 つ以上のラインの場合、以下の形式のいずれかを使用して、端点が繋がっている 1 本のライン、同じ数の端点をもつ複数のライン、または異なる数の端点をもつ複数のラインを指定するための空間座標を指定します。
| |
| 1 つ以上の多角形の場合、空間座標で M 行 1 列の cell 配列として指定します。各セルには、[x y] 頂点位置からなる L 行 2 列の行列、または [x1, y1, x2,y2, … xL,yL ] の形式の連続する頂点位置からなる 1 行 2L 列のベクトルを格納します。
|
|
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] は対応する幅と高さを指定します。 | |
データ型: single
| double
| cell
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: insertShape(I,"circle",position,Color="yellow")
は、形状の色を黄色に設定します。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: insertShape(I,"circle",position,"Color","yellow")
は、形状の色を黄色に設定します。
LineWidth
— 形状の境界線の幅
1
(既定値) | 正の整数
形状の境界線の幅。正の整数としてピクセル単位で指定します。この引数は、"Rectangle"
、"Line"
、"Polygon"
、および "Circle"
の形状にのみ適用されます。
データ型: uint8
| uint16
| int16
| double
| single
ShapeColor
— 形状の色
"green"
(既定値) | 色の省略名 | 色の名前 | 色名のベクトル | RGB 3 成分の 3 列の行列
形状の色。色の省略名、色の名前、色名のベクトル、RGB 3 成分の 3 列の行列として指定します。
サポートされている色の表には範囲 [0, 1] で RGB 強度を掲載していますが、RGB 3 成分の指定は選択するデータ型の範囲で行わなければなりません。たとえば、この引数を uint8
の値の行列として指定する場合、各強度値を [0, 255] の範囲に変換しなければなりません。掲載されている強度値を uint8
データ型に変換するには、コード uint8(255*intensity)
を使用します。ここで、intensity は、表に掲載されている RGB 3 成分の値です。
形状ごとに異なる色を指定したり、すべての形状に 1 つの色を指定したりできます。すべてのマーカーに 1 つの色を指定するには、ShapeColor
を色の名前または [R G B] ベクトルとして指定します。
仕様 | 形式 | 例 |
---|---|---|
すべての形状 (またはマーカー) に 1 つの色を指定 | 色の省略名または色の名前 |
|
RGB 3 成分 |
| |
各形状 (またはマーカー) の色を指定 | 色名のベクトル |
|
RGB 3 成分の 3 列の行列 | [1 0 0 0 1 1 1 0 1 1 1 1] |
次の表に、サポートされている形状の色を示します。
色の名前 | 省略名 | RGB 3 成分 | 外観 |
---|---|---|---|
"red" | "r" | [1 0 0] | |
"green" | "g" | [0 1 0] | |
"blue" | "b" | [0 0 1] | |
"cyan" | "c" | [0 1 1] | |
"magenta" | "m" | [1 0 1] | |
"yellow" | "y" | [1 1 0] | |
"black" | "k" | [0 0 0] | |
"white" | "w" | [1 1 1] |
データ型: logical
| uint8
| uint16
| int16
| double
| single
| cell
Opacity
— 塗りつぶし形状の不透明度
0.6
(既定値) | 範囲 [0,1] のスカラー
塗りつぶし形状の不透明度。[0 1] の範囲のスカラーとして指定します。引数 Opacity
は、"filled-rectangle"
、"filled-polygon"
、および "filled-circle"
の形状にのみ適用されます。
データ型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
SmoothEdges
— 形状のエッジの平滑化
true
または 1
(既定値) | false
または 0
形状のエッジの平滑化。logical の 1
(true
) または 0
(false
) として指定します。true
値は、アンチエイリアシング フィルターを有効にして形状のエッジを平滑化します。この値は四角形以外の形状に対してのみ適用されます。アンチエイリアシングを有効にすると、形状の描画にかかる時間が長くなります。
データ型: logical
出力引数
RGB
— 出力イメージ
M×N×3 のトゥルーカラー イメージ
出力イメージ。M×N×3 のトゥルーカラー イメージとして返されます。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
名前と値の引数
Color
およびSmoothEdges
は、コンパイル時の定数でなければなりません。コード生成には C++ コンパイラが必要です。サポートされているコンパイラの一覧については、Supported and Compatible Compilers を参照してください。
バージョン履歴
R2014a で導入R2023b: [0,1] の範囲での RGB カラー指定
R2023b 以降、マーカーの色の RGB 値を [0,1] の範囲で指定できるようになりました。
R2023b: 境界ボックス用の回転した四角形のサポート
[xctr yctr width height yaw] の形式を使用して、回転した四角形の境界ボックスを指定できます。
R2023b: 境界ボックスの四角形の方向の表示
名前と値の引数 ShowOrientation
を指定して、回転した四角形の境界ボックスの方向と角度を表示できるようになりました。
R2022b: 投影された直方体の可視化
投影された直方体を可視化するためのサポートが追加されました。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)