OpenCV 4.5.3(日本語機械翻訳)
|
Data structure for salient point detectors. [詳解]
#include <types.hpp>
cv::xfeatures2d::Elliptic_KeyPointに継承されています。
公開メンバ関数 |
|
CV_WRAP | KeyPoint () |
デフォルトコンストラクタ |
|
KeyPoint (Point2f pt, float size, float angle=-1, float response=0, int octave=0, int class_id=-1) | |
CV_WRAP | KeyPoint (float x, float y, float size, float angle=-1, float response=0, int octave=0, int class_id=-1) |
size_t | hash () const |
静的公開メンバ関数 |
|
static CV_WRAP void | convert (const std::vector< KeyPoint > &keypoints, CV_OUT std::vector< Point2f > &points2f, const std::vector< int > &keypointIndexes=std::vector< int >()) |
static CV_WRAP void | convert (const std::vector< Point2f > &points2f, CV_OUT std::vector< KeyPoint > &keypoints, float size=1, float response=1, int octave=0, int class_id=-1) |
static CV_WRAP float | overlap (const KeyPoint &kp1, const KeyPoint &kp2) |
公開変数類 |
|
CV_PROP_RW Point2f | pt |
キーポイントの座標 |
|
CV_PROP_RW float | size |
意味のあるキーポイント近傍の直径 |
|
CV_PROP_RW float | angle |
CV_PROP_RW float | response |
最も強いキーポイントが選択された応答.さらなるソートやサブサンプリングに使用可能 |
|
CV_PROP_RW int | octave |
キーポイントが抽出されたオクターブ(ピラミッド層)。 |
|
CV_PROP_RW int | class_id |
オブジェクトクラス(キーポイントが属するオブジェクトによってクラスタリングされる必要がある場合)。 |
|
サリエントポイント検出器のデータ構造。
このクラスのインスタンスは,キーポイント,つまり,Harris corner detector, StarDetector, SURF, などの多くのキーポイント検出器の1つによって検出された点の特徴を保存します.FAST, StarDetector, SURF, SIFT などの多くの利用可能なキーポイント検出器の1つによって検出された点特徴を格納します.
キーポイントは,2次元の位置,スケール(考慮する必要のある近傍領域の直径に比例),方向,その他のパラメータによって特徴付けられます.そして,キーポイントの近傍は,ディスクリプタ(通常,特徴ベクトルとして表される)を構築する別のアルゴリズムによって分析されます.そして,異なる画像中の同じオブジェクトを表すキーポイントは,KDTreeやその他の方法を用いてマッチングされます.
cv::KeyPoint::KeyPoint | ( | Point2f | pt, |
float | size, | ||
float |
angle
=
-1 ,
|
||
float |
response
=
0 ,
|
||
int |
octave
=
0 ,
|
||
int |
class_id
=
-1 |
||
) |
pt | キーポイントのxおよびy座標 |
size | キーポイントの直径 |
angle | キーポイントの方向 |
response | キーポイントに対する検出器の応答(キーポイントの強度)。 |
octave | そのキーポイントが検出されたピラミッドオクターブ |
class_id | オブジェクトID |
CV_WRAP cv::KeyPoint::KeyPoint | ( | float | x, |
float | y, | ||
float | size, | ||
float |
angle
=
-1 ,
|
||
float |
response
=
0 ,
|
||
int |
octave
=
0 ,
|
||
int |
class_id
=
-1 |
||
) |
x | キーポイントのx-座標 |
y | キーポイントのy座標 |
size | キーポイントの直径 |
angle | キーポイントの方向 |
response | キーポイントに対する検出器の応答(キーポイントの強度)。 |
octave | そのキーポイントが検出されたピラミッドオクターブ |
class_id | オブジェクトID |
|
static |
この方法では,キーポイントのベクトルを点のベクトルに変換したり,逆に各キーポイントに同じ大きさと同じ向きを割り当てることができます.
keypoints | SIFT/SURF/ORB などの特徴検出アルゴリズムから得られるキーポイント |
points2f | 各キーポイントの(x,y)座標の配列 |
keypointIndexes | 点に変換されるキーポイントのインデックスの配列.(指定されたキーポイントのみを変換するための,マスクのような役割を果たします.) |
|
static |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
points2f | 各キーポイントの(x,y)座標の配列 |
keypoints | SIFT/SURF/ORB などの特徴検出アルゴリズムから得られるキーポイント |
size | キーポイントの直径 |
response | キーポイントに対する検出器の応答(キーポイントの強度)。 |
octave | そのキーポイントが検出されたピラミッドオクターブ |
class_id | オブジェクトID |
このメソッドは,キーポイントのペアのオーバーラップを計算します.Overlapは,キーポイント領域の交点の面積と,キーポイント領域の和の面積(キーポイント領域を円とみなした場合)の比です.もし、それらが重なっていなければ、0を得ます。もし、同じ場所で同じ大きさであれば、1となります。
kp1 | 第一キーポイント |
kp2 | 第2キーポイント |
CV_PROP_RW float cv::KeyPoint::angle |
計算されたキーポイントの向き(該当しない場合は -1).これは [0,360] 度単位で,画像座標系に対して相対的に,つまり時計回りに計測されます.