最終更新:2016-06-06 (月) 03:09:14 (2881d)
OpenCvSharp.CPlusPlus.BFMatcher
Top / OpenCvSharp.CPlusPlus.BFMatcher
Brute-force descriptor matcher.
総当り
public BFMatcher(NormType? normType = NormType?.L2, bool crossCheck = false);
概要
- ブルートフォースディスクリプタ Matcher.この Matcher は, 1番目の集合の各ディスクリプタに対して,それに最も近いディスクリプタを見つけるために2番目の集合を全探索します. このディスクリプタ Matcher は,ディスクリプタ集合同士のマスキング可能なマッチングをサポートします.
パラメータ
normTypes
- このパラメータはマッチングコストの計算に使われる距離計算方法を指定します デフォルトは cv2.NORM_L2? となっています.SIFTやSURFといった特徴量記述子に向いています(cv2.NORM_L1? も同様です)
- ORB, BRIEF?, BRISK?のようなバイナリベクタ?(特徴ベクトルの各要素が2値となる特徴量記述子)については cv2.NORM_HAMMING? を指定し,特徴ベクトル間のハミング距離を使うべきです
crossCheck
- クロスチェックをtrueにすると、反対方向からもマッチングを確認する
- trueに設定すると,マッチングのクロスチェックが行われ,クロスチェックが確立されたマッチング結果のみが返されます.クロスチェックとは,特徴点群Aの中のi番目の特徴ベクトルの最大マッチング結果が特徴点群Bの中のj番目の特徴ベクトルとなり,かつ特徴点群Bの中のj番目の特徴ベクトルの最大マッチング結果が特徴点群Aの中のi番目の特徴ベクトルとなるか確認することを意味します.両特徴点群の特徴点が互いにベストマッチとなるか確認するわけです
インターフェイス
C++
- class BFMatcher : public DescriptorMatcher
- http://opencv.jp/opencv-2svn/cpp/features2d_common_interfaces_of_descriptor_matchers.html
- http://docs.opencv.org/2.4/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html