最終更新:2016-06-06 (月) 05:08:05 (2880d)  

DMatch
Top / DMatch

http://opencv.jp/opencv-2.2/cpp/features2d_common_interfaces_of_descriptor_matchers.html

定義

struct DMatch
{
    DMatch() : queryIdx(-1), trainIdx(-1), imgIdx(-1),
               distance(std::numeric_limits<float>::max()) {}
    DMatch( int _queryIdx, int _trainIdx, float _distance ) :
            queryIdx(_queryIdx), trainIdx(_trainIdx), imgIdx(-1),
            distance(_distance) {}
    DMatch( int _queryIdx, int _trainIdx, int _imgIdx, float _distance ) :
            queryIdx(_queryIdx), trainIdx(_trainIdx), imgIdx(_imgIdx),
            distance(_distance) {}

    int queryIdx; // クエリディスクリプタインデックス
    int trainIdx; // 訓練ディスクリプタインデックス
    int imgIdx;   // 訓練画像インデックス

    float distance;

    // 小さいほど良い
    bool operator<( const DMatch &m ) const;
};

DescriptorMatcher.match

  • 各点に対して最も良いマッチングスコアを持つ対応点のみを返す

DescriptorMatcher.knnMatch

  • 上位 k 個の特徴点を返す