OpenCV 4.5.3(日本語機械翻訳)
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧

Class for extracting keypoints and computing descriptors using the Scale Invariant Feature Transform (SIFT) algorithm by D. Lowe [Lowe04] . [詳解]

#include <features2d.hpp>

cv::Feature2Dを継承しています。

公開メンバ関数

virtual CV_WRAP String getDefaultName () const CV_OVERRIDE
- 基底クラス cv::Feature2D に属する継承公開メンバ関数
virtual CV_WRAP void detect (InputArray image, CV_OUT std::vector< KeyPoint > &keypoints, InputArray mask=noArray())
画像(第1のバージョン)または画像セット(第2のバージョン)からキーポイントを検出します。[【詳解】(英語]
virtual CV_WRAP void detect (InputArrayOfArrays images, CV_OUT std::vector< std::vector< KeyPoint > > &keypoints, InputArrayOfArrays masks=noArray())
virtual CV_WRAP void compute (InputArray image, CV_OUT CV_IN_OUT std::vector< KeyPoint > &keypoints, OutputArray descriptors)
画像(第1の形式)または画像集合(第2の形式)から検出されるキーポイントの集合に対するディスクリプタを計算します.[【詳解】(英語]
virtual CV_WRAP void compute (InputArrayOfArrays images, CV_OUT CV_IN_OUT std::vector< std::vector< KeyPoint > > &keypoints, OutputArrayOfArrays descriptors)
virtual CV_WRAP void detectAndCompute (InputArray image, InputArray mask, CV_OUT std::vector< KeyPoint > &keypoints, OutputArray descriptors, bool useProvidedKeypoints=false)
virtual CV_WRAP int descriptorSize () const
virtual CV_WRAP int descriptorType () const
virtual CV_WRAP int defaultNorm () const
CV_WRAP void write (const String &fileName) const
CV_WRAP void read (const String &fileName)
virtual void write (FileStorage &) const CV_OVERRIDE
アルゴリズムのパラメーターをファイルストレージに格納[【詳解】(英語]
virtual CV_WRAP void read (const FileNode &) CV_OVERRIDE
アルゴリズム・パラメータをファイル・ストレージから読み込みます。[【詳解】(英語]
virtual CV_WRAP bool empty () const CV_OVERRIDE
検出器オブジェクトが空の場合は,trueを返します.[【詳解】(英語]
CV_WRAP void write (const Ptr< FileStorage > &fs, const String &name=String()) const
- 基底クラス cv::Algorithm に属する継承公開メンバ関数
virtual CV_WRAP void clear ()
アルゴリズムの状態をクリアする[【詳解】(英語]
CV_WRAP void write (const Ptr< FileStorage > &fs, const String &name=String()) const
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
virtual CV_WRAP void save (const String &filename) const

静的公開メンバ関数

static CV_WRAP Ptr< SIFT > create (int nfeatures=0, int nOctaveLayers=3, double contrastThreshold=0.04, double edgeThreshold=10, double sigma=1.6)
static CV_WRAP Ptr< SIFT > create (int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma, int descriptorType)
作成SIFT指定されたdescriptorTypeを持つ[【詳解】(英語]
- 基底クラス cv::Algorithm に属する継承静的公開メンバ関数
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
ファイル・ノードからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
ファイルからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
文字列からアルゴリズムを読み込む[【詳解】(英語]

その他の継承メンバ

- 基底クラス cv::Algorithm に属する継承限定公開メンバ関数
void writeFormat (FileStorage &fs) const

詳解

キーポイントを抽出し,スケールインバリアント特徴変換(SIFT) アルゴリズムを用いた,キーポイントの抽出とディスクリプタの計算のためのクラス.[Lowe04]..

関数詳解

create() [1/2]

static CV_WRAP Ptr< SIFT > cv::SIFT::create ( int nfeatures,
int nOctaveLayers,
double contrastThreshold,
double edgeThreshold,
double sigma,
int descriptorType
)
static

作成SIFT指定されたdescriptorTypeを持つ

引数
nfeatures 保持する最適な特徴の数.特徴は,そのスコア(アルゴリズムでは,局所的なコントラストとして測定されます)によってランク付けされます.SIFTアルゴリズムでは,局所的なコントラストとして測定されます).
nOctaveLayers 各オクターブにおける層の数.3は,D. Loweの論文で使われている値です.オクターブの数は、画像の解像度から自動的に計算されます。
contrastThreshold 半均一な(低コントラストの)領域にある弱い特徴をフィルタリングするために使用されるコントラストの閾値です。しきい値が大きいほど、検出器で生成される特徴が少なくなります。
覚え書き
コントラスト閾値は、フィルタリングが適用される際に、nOctaveLayersで割られます。nOctaveLayersがデフォルトに設定されていて、D. Lowe論文で使用されている値、0.03を使用したい場合、この引数を0.09に設定します。
引数
edgeThreshold エッジ的な特徴をフィルタリングするために使用されるしきい値です。すなわち、edgeThresholdが大きければ大きいほど、フィルタリングされる特徴が少なくなる(より多くの特徴が保持される)ということです。
sigma オクターブ#0の入力画像に適用されたガウスのシグマです。柔らかいレンズを使った弱いカメラで撮影された画像の場合は、数を減らした方がいいでしょう。
descriptorType ディスクリプタの種類.CV_32F と CV_8U のみがサポートされます.

create() [2/2]

static CV_WRAP Ptr< SIFT > cv::SIFT::create ( int nfeatures = 0,
int nOctaveLayers = 3,
double contrastThreshold = 0.04,
double edgeThreshold = 10,
double sigma = 1.6
)
static
引数
nfeatures 保持する最適な特徴の数.特徴は,そのスコア(アルゴリズムでは,局所的なコントラストとして測定されます)によってランク付けされます.SIFTアルゴリズムでは,局所的なコントラストとして測定されます).
nOctaveLayers 各オクターブにおける層の数.3は,D. Loweの論文で使われている値です.オクターブの数は、画像の解像度から自動的に計算されます。
contrastThreshold 半均一な(低コントラストの)領域にある弱い特徴をフィルタリングするために使用されるコントラストの閾値です。しきい値が大きいほど、検出器で生成される特徴が少なくなります。
覚え書き
コントラスト閾値は、フィルタリングが適用される際に、nOctaveLayersで割られます。nOctaveLayersがデフォルトに設定されていて、D. Lowe論文で使用されている値、0.03を使用したい場合、この引数を0.09に設定します。
引数
edgeThreshold エッジ的な特徴をフィルタリングするために使用されるしきい値です。すなわち、edgeThresholdが大きければ大きいほど、フィルタリングされる特徴が少なくなる(より多くの特徴が保持される)ということです。
sigma オクターブ#0の入力画像に適用されたガウスのシグマです。柔らかいレンズを使った弱いカメラで撮影された画像の場合は、数を減らした方がいいでしょう。

getDefaultName()

virtual CV_WRAP String cv::SIFT::getDefaultName ( ) const
virtual

algorithm string identifier を返す。この文字列は,オブジェクトをファイルや文字列に保存する際に,最上位のxml/ymlノードタグとして使用されます.

cv::Feature2Dを再実装します。


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