このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
bboxOverlapRatio
境界ボックスのオーバーラップ率の計算
構文
説明
は、overlapRatio
= bboxOverlapRatio(bboxA
,bboxB
)bboxA
および bboxB
の境界ボックスの各ペア間のオーバーラップ率を返します。関数は、0
および 1
の間の overlapRatio
値を返します。1
は、完全なオーバーラップを意味します。
により、その割合の計算に使用する方法をさらに指定できます。overlapRatio
= bboxOverlapRatio(bboxA
,bboxB
,ratioType
)ratioType
は 'Union'
または 'Min'
のいずれかに設定しなければなりません。
例
2 つの境界ボックス間のオーバーラップ率の計算
2 つの境界ボックスを形式 [x y width height] で定義します。
bboxA = [150,80,100,100]; bboxB = bboxA + 50;
境界ボックスをイメージ上に表示します。
I = imread('peppers.png'); RGB = insertShape(I,'filled-rectangle',bboxA,'ShapeColor','green'); RGB = insertShape(RGB,'filled-rectangle',bboxB,'ShapeColor','yellow'); imshow(RGB)
2 つの境界ボックス間のオーバーラップ率を計算します。
overlapRatio = bboxOverlapRatio(bboxA,bboxB)
overlapRatio = 0.0833
各ペアの境界ボックス間のオーバーラップ率の計算
2 つのセットの境界ボックスを無作為に生成します。
bboxA = 10*rand(5,4); bboxB = 10*rand(10,4);
ボックスの幅と高さが正であることを確認してください。
bboxA(:,3:4) = bboxA(:,3:4) + 10; bboxB(:,3:4) = bboxB(:,3:4) + 10;
各ペアの間のオーバーラップ率を計算します。
overlapRatio = bboxOverlapRatio(bboxA,bboxB)
overlapRatio = 5×10
0.2431 0.2329 0.3418 0.5117 0.7972 0.1567 0.1789 0.4339 0.0906 0.5766
0.3420 0.1655 0.7375 0.5188 0.2786 0.3050 0.2969 0.4350 0.2477 0.2530
0.4844 0.3290 0.3448 0.1500 0.1854 0.4976 0.5629 0.4430 0.5027 0.2685
0.3681 0.0825 0.3499 0.0840 0.0658 0.5921 0.6498 0.1930 0.7433 0.0676
0.3752 0.1114 0.3114 0.0696 0.0654 0.5408 0.6234 0.2046 0.7557 0.0717
入力引数
bboxA
— 境界ボックス
M 行 4 列の行列 | M 行 5 列の行列
境界ボックス。M 行 4 列または M 行 5 列の非スパース数値行列として指定します。M は境界ボックスの数です。行列の各行で、軸に平行な四角形または回転した四角形として、境界ボックスを定義します。次の表に、各境界ボックスの形式を示します。
境界ボックス | 行 | 説明 |
---|---|---|
軸に平行な四角形 | [xmin, ymin, width, height] | このタイプの境界ボックスは、M 個の境界ボックスを表す M 行 4 列の行列として、ピクセル座標で定義します。 |
回転した四角形 | [xcenter, ycenter, width, height, yaw] | このタイプの境界ボックスは、M 個の境界ボックスを表す M 行 5 列の行列として、空間座標で定義します。座標 xcenter と ycenter は、境界ボックスの中心を表します。要素 width と height はそれぞれ、x 軸と y 軸に沿ったボックスの長さを表します。yaw は、回転角度を度単位で表します。境界ボックスの中心の回転量は、時計回りの方向で測定されます。 |
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
bboxB
— 境界ボックス
M 行 4 列の行列 | M 行 5 列の行列
境界ボックス。M 行 4 列または M 行 5 列の非スパース数値行列として指定します。M は境界ボックスの数です。行列の各行 M で、軸に平行な四角形または回転した四角形として、境界ボックスを定義します。次の表に、各境界ボックスの形式を示します。
境界ボックス | 行 | 説明 |
---|---|---|
軸に平行な四角形 | [xmin, ymin, width, height] | このタイプの境界ボックスは、M 個の境界ボックスを表す M 行 4 列の行列として、ピクセル座標で定義します。 |
回転した四角形 | [xcenter, ycenter, width, height, yaw] | このタイプの境界ボックスは、M 個の境界ボックスを表す M 行 5 列の行列として、空間座標で定義します。座標 xcenter と ycenter は、境界ボックスの中心を表します。要素 width と height はそれぞれ、x 軸と y 軸に沿ったボックスの長さを表します。yaw は、回転角度を度単位で表します。境界ボックスの中心の回転量は、時計回りの方向で測定されます。 |
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
出力引数
overlapRatio
— 2 つの境界ボックス間のオーバーラップ率
M 行 N 列の行列
2 つの境界ボックス間のオーバーラップ率。M 行 N 列の行列として返されます。出力行列の各 (I、J) 要素は、bboxA
の行 I と bboxB
の行 J の間のオーバーラップ率に対応します。関数は、0 と 1 の間の overlapRatio
を返します。1
は、完全なオーバーラップを意味します。bboxA
または bboxB
のいずれかが double の場合、関数は overlapRatio
を double
で返します。それ以外の場合は single
として返します。
関数は、割合のタイプに基づいてオーバーラップ率を計算します。ratioType
を 'Union'
または 'Min'
に設定できます。
データ型: single
| double
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2014b で導入
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)