正確なバージョンは調べないといけないが、2.4以降、OpenCVのドキュメントの特徴量の取得のためのAPIは、複数のアルゴリズムの切り替えを簡単にするために、共通インタフェースを使用する形式となっている。
インスタンスの生成は、
Ptr<DescriptorExtractor> DescriptorExtractor::create(const string& descriptorExtractorType)
を使用し、descriptorExtractorTypeにアルゴリズム名を指定する形となっている。
SIFTを使用する場合、"SIFT"を代入することになる。
このAPIでは、各アルゴリズム特有の初期設定ができないため、SIFTの角度の計算を行わないようにするなどの設定ができなくなってしまう。
また、このAPIでは、SURFとSIFTを使用するためには、
OpenCV 2.4.2でSURFを使うために
に書いたような注意が必要となる。
2.4.7でも
cv::SiftDescriptorExtractor extractor;
は使用できる
Visual studio のインテリセンスでSiftDescriptorExtractorのコンストラクターの引数をみることができるが、2.4.7では、
extractor(cv::SIFT::DescriptorParams::GET_DEFAULT_MAGNIFICATION(), true, false);
のような引数の並びではなくなっている。
0 件のコメント:
コメントを投稿