OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
cv::FlannBasedMatcher クラス

Flann ベースの記述子マッチャ。 続きを読む...

#include <opencv2/features.hpp>

Collaboration diagram for cv::FlannBasedMatcher:

公開メンバ関数

 FlannBasedMatcher (const Ptr< flann::IndexParams > &indexParams=makePtr< flann::KDTreeIndexParams >(), const Ptr< flann::SearchParams > &searchParams=makePtr< flann::SearchParams >())
 
virtual void add (InputArrayOfArrays descriptors) CV_OVERRIDE
 CPU(trainDescCollectionis) または GPU(utrainDescCollectionis) の記述子コレクションを学習するために記述子を追加する。
 
virtual void clear () CV_OVERRIDE
 学習用記述子コレクションをクリアする。
 
virtual CV_NODISCARD_STD Ptr< DescriptorMatcherclone (bool emptyTrainData=false) const CV_OVERRIDE
 マッチャーを複製する。
 
virtual bool isMaskSupported () const CV_OVERRIDE
 記述子マッチャーが許容マッチのマスキングをサポートしている場合は true を返す。
 
virtual void read (const FileNode &) CV_OVERRIDE
 ファイルストレージからアルゴリズムの引数を読み込む。
 
virtual void train () CV_OVERRIDE
 記述子マッチャーを学習する。
 
virtual void write (FileStorage &) const CV_OVERRIDE
 アルゴリズムの引数をファイルストレージに保存する。
 
- Public Member Functions inherited from cv::DescriptorMatcher
virtual ~DescriptorMatcher ()
 
virtual bool empty () const CV_OVERRIDE
 両方のコレクションに学習用記述子が存在しない場合は true を返す。
 
const std::vector< Mat > & getTrainDescriptors () const
 学習用記述子コレクション trainDescCollection への定数リンクを返す。
 
void knnMatch (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< std::vector< DMatch > > &matches, int k, InputArray mask=noArray(), bool compactResult=false) const
 クエリ集合の各記述子に対して、上位 k 件の最良マッチを探索する。
 
void knnMatch (InputArray queryDescriptors, std::vector< std::vector< DMatch > > &matches, int k, InputArrayOfArrays masks=noArray(), bool compactResult=false)
 
void match (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< DMatch > &matches, InputArray mask=noArray()) const
 クエリ集合の各記述子に対して、最良のマッチを探索する。
 
void match (InputArray queryDescriptors, std::vector< DMatch > &matches, InputArrayOfArrays masks=noArray())
 
void radiusMatch (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< std::vector< DMatch > > &matches, float maxDistance, InputArray mask=noArray(), bool compactResult=false) const
 各クエリ記述子に対して、指定された距離以内にある学習用記述子を探索する。
 
void radiusMatch (InputArray queryDescriptors, std::vector< std::vector< DMatch > > &matches, float maxDistance, InputArrayOfArrays masks=noArray(), bool compactResult=false)
 
void read (const String &fileName)
 
void write (const Ptr< FileStorage > &fs, const String &name) const
 
void write (const String &fileName) const
 
void write (FileStorage &fs, const String &name) const
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual String getDefaultName () const
 
virtual void save (const String &filename) const
 
void write (FileStorage &fs, const String &name) const
 

静的公開メンバ関数

static Ptr< FlannBasedMatchercreate ()
 
- Static Public Member Functions inherited from cv::DescriptorMatcher
static Ptr< DescriptorMatchercreate (const DescriptorMatcher::MatcherType &matcherType)
 
static Ptr< DescriptorMatchercreate (const String &descriptorMatcherType)
 指定した型の記述子マッチャーをデフォルトのパラメータで(デフォルトコンストラクタを使って)生成する。
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 ファイルからアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 文字列からアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 ファイルノードからアルゴリズムを読み込む。
 

限定公開メンバ関数

virtual void knnMatchImpl (InputArray queryDescriptors, std::vector< std::vector< DMatch > > &matches, int k, InputArrayOfArrays masks=noArray(), bool compactResult=false) CV_OVERRIDE
 
virtual void radiusMatchImpl (InputArray queryDescriptors, std::vector< std::vector< DMatch > > &matches, float maxDistance, InputArrayOfArrays masks=noArray(), bool compactResult=false) CV_OVERRIDE
 
- Protected Member Functions inherited from cv::DescriptorMatcher
void checkMasks (InputArrayOfArrays masks, int queryDescriptorsCount) const
 
- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

静的限定公開メンバ関数

static void convertToDMatches (const DescriptorCollection &descriptors, const Mat &indices, const Mat &distances, std::vector< std::vector< DMatch > > &matches)
 
- Static Protected Member Functions inherited from cv::DescriptorMatcher
static CV_NODISCARD_STD Mat clone_op (Mat m)
 
static bool isMaskedOut (InputArrayOfArrays masks, int queryIdx)
 
static bool isPossibleMatch (InputArray mask, int queryIdx, int trainIdx)
 

限定公開変数類

int addedDescCount
 
Ptr< flann::Index > flannIndex
 
Ptr< flann::IndexParams > indexParams
 
DescriptorCollection mergedDescriptors
 
Ptr< flann::SearchParams > searchParams
 
- Protected Attributes inherited from cv::DescriptorMatcher
std::vector< MattrainDescCollection
 学習画像から得た記述子のコレクション。
 
std::vector< UMatutrainDescCollection
 

Additional Inherited Members

- Public Types inherited from cv::DescriptorMatcher
enum  MatcherType {
  FLANNBASED = 1 ,
  BRUTEFORCE = 2 ,
  BRUTEFORCE_L1 = 3 ,
  BRUTEFORCE_HAMMING = 4 ,
  BRUTEFORCE_HAMMINGLUT = 5 ,
  BRUTEFORCE_SL2 = 6
}
 

詳細説明

Flann ベースの記述子マッチャ。

このマッチャは学習用記述子コレクションに対して cv::flann::Index を学習し、その最近傍探索メソッドを呼び出して最良のマッチを探す。そのため、このマッチャは大規模な学習用コレクションのマッチングにおいて、総当たり (brute force) マッチャより高速になることがある。FlannBasedMatcher は、記述子集合のマッチングを許可するマスクをサポートしない。これは flann::Index がこれをサポートしないためである。:

samples/cpp/snippets/epipolar_lines.cpp.

構築子と解体子の詳解

◆ FlannBasedMatcher()

cv::FlannBasedMatcher::FlannBasedMatcher ( const Ptr< flann::IndexParams > & indexParams = makePtr< flann::KDTreeIndexParams >(),
const Ptr< flann::SearchParams > & searchParams = makePtr< flann::SearchParams >() )
Python:
cv.FlannBasedMatcher([, indexParams[, searchParams]]) -> <FlannBasedMatcher object>

メンバ関数詳解

◆ add()

virtual void cv::FlannBasedMatcher::add ( InputArrayOfArrays descriptors)
virtual

CPU(trainDescCollectionis) または GPU(utrainDescCollectionis) の記述子コレクションを学習させるために記述子を追加する。

コレクションが空でない場合、新しい記述子は既存の学習記述子に追加される。

引数
descriptors追加する記述子。各 descriptors[i] は同一の学習画像から得られた記述子の集合である。

cv::DescriptorMatcher から再実装。

◆ clear()

virtual void cv::FlannBasedMatcher::clear ( )
virtual

学習記述子コレクションをクリアする。

cv::DescriptorMatcher から再実装。

◆ clone()

virtual CV_NODISCARD_STD Ptr< DescriptorMatcher > cv::FlannBasedMatcher::clone ( bool emptyTrainData = false) const
virtual

マッチャーを複製する。

引数
emptyTrainDataemptyTrainData が false の場合、このメソッドはオブジェクトのディープコピー、すなわちパラメータと学習データの両方をコピーしたものを作成する。emptyTrainData が true の場合は、現在のパラメータを保持しつつ学習データを空にしたオブジェクトのコピーを作成する。

cv::DescriptorMatcher を実装する。

◆ convertToDMatches()

static void cv::FlannBasedMatcher::convertToDMatches ( const DescriptorCollection & descriptors,
const Mat & indices,
const Mat & distances,
std::vector< std::vector< DMatch > > & matches )
staticprotected

◆ create()

static Ptr< FlannBasedMatcher > cv::FlannBasedMatcher::create ( )
static
Python:
cv.FlannBasedMatcher.create() -> retval
cv.FlannBasedMatcher_create() -> retval

◆ isMaskSupported()

virtual bool cv::FlannBasedMatcher::isMaskSupported ( ) const
virtual

記述子マッチャーが許容マッチのマスキングをサポートしている場合は true を返す。

cv::DescriptorMatcher を実装する。

◆ knnMatchImpl()

virtual void cv::FlannBasedMatcher::knnMatchImpl ( InputArray queryDescriptors,
std::vector< std::vector< DMatch > > & matches,
int k,
InputArrayOfArrays masks = noArray(),
bool compactResult = false )
protectedvirtual

実際には、マッチングは次の2つのメソッドによってのみ実装されている。これらのメソッドは、クラスオブジェクトがすでに学習済みであることを前提とする。public な match メソッドは、train() を呼び出した後にこれらのメソッドを呼び出す。

cv::DescriptorMatcher を実装する。

◆ radiusMatchImpl()

virtual void cv::FlannBasedMatcher::radiusMatchImpl ( InputArray queryDescriptors,
std::vector< std::vector< DMatch > > & matches,
float maxDistance,
InputArrayOfArrays masks = noArray(),
bool compactResult = false )
protectedvirtual

cv::DescriptorMatcher を実装する。

◆ read()

virtual void cv::FlannBasedMatcher::read ( const FileNode & fn)
virtual

ファイルストレージからアルゴリズムの引数を読み込む。

cv::DescriptorMatcher から再実装。

◆ train()

virtual void cv::FlannBasedMatcher::train ( )
virtual

記述子マッチャを学習させる。

記述子マッチャ (たとえば flann インデックス) を学習する。すべての match メソッドでは、マッチングの前に毎回 train() メソッドが実行される。一部の記述子マッチャ (たとえば BruteForceMatcher) では、このメソッドの実装は空である。その他のマッチャは、実際に内部構造を学習する (たとえば FlannBasedMatcher は flann::Index を学習する)。

cv::DescriptorMatcher から再実装。

◆ write()

virtual void cv::FlannBasedMatcher::write ( FileStorage & fs) const
virtual

アルゴリズムの引数をファイルストレージに保存する。

cv::DescriptorMatcher から再実装。

メンバ変数詳解

◆ addedDescCount

int cv::FlannBasedMatcher::addedDescCount
protected

◆ flannIndex

Ptr<flann::Index> cv::FlannBasedMatcher::flannIndex
protected

◆ indexParams

Ptr<flann::IndexParams> cv::FlannBasedMatcher::indexParams
protected

◆ mergedDescriptors

DescriptorCollection cv::FlannBasedMatcher::mergedDescriptors
protected

◆ searchParams

Ptr<flann::SearchParams> cv::FlannBasedMatcher::searchParams
protected

このクラス詳解は次のファイルから抽出されました: