OpenCV 4.5.3(日本語機械翻訳)
クラス | 型定義 | 関数
Feature Detection and Description

クラス

class cv::KeyPointsFilter
クラスは、キーポイントのベクトルをフィルタリングします。[【詳解】(英語]
class cv::Feature2D
2次元画像の特徴検出器とディスクリプタ抽出器のための抽象的な基底クラス.[【詳解】(英語]
class cv::AffineFeature
検出器や抽出器をアフィン不変にするためのラッパーを実装するクラス.[YM11]..[【詳解】(英語]
class cv::SIFT
キーポイントを抽出し,スケールインバリアント特徴変換(SIFT) アルゴリズムを用いた,キーポイントの抽出とディスクリプタの計算のためのクラス.[Lowe04]..[【詳解】(英語]
class cv::BRISK
を実装したクラス。BRISKに記載されているキーポイント検出器と記述子抽出器。[LCS11]....[【詳解】(英語]
class cv::ORB
を実装したクラス。ORB(オリエンテッドブリフ) キーポイント検出器とディスクリプタ抽出器[【詳解】(英語]
class cv::MSER
最大限に安定した極値領域抽出器[【詳解】(英語]
class cv::FastFeatureDetector
FAST法による特徴検出のためのラッピングクラス.[【詳解】(英語]
class cv::AgastFeatureDetector
AGAST法による特徴検出のためのラッピングクラスです。[【詳解】(英語]
class cv::GFTTDetector
goodFeaturesToTrack関数を用いた特徴検出のラッピングクラス.[【詳解】(英語]
class cv::SimpleBlobDetector
画像からblobを抽出するためのクラス.[【詳解】(英語]
class cv::KAZE
を実装したクラス。KAZEに記載されているキーポイント検出器と記述子抽出器。[ABD12]を参照してください。.[【詳解】(英語]
class cv::AKAZE
を実装したクラス。AKAZEに記載されているキーポイント検出器と記述子抽出器。[ANB13]に記載されています。.[【詳解】(英語]

型定義

typedef Feature2D cv::FeatureDetector
typedef Feature2D cv::DescriptorExtractor
typedef AffineFeature cv::AffineFeatureDetector
typedef AffineFeature cv::AffineDescriptorExtractor
typedef SIFT cv::SiftFeatureDetector
typedef SIFT cv::SiftDescriptorExtractor

関数

CV_EXPORTS void cv::FAST (InputArray image, CV_OUT std::vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression=true)
CV_EXPORTS void cv::FAST (InputArray image, CV_OUT std::vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression, FastFeatureDetector::DetectorType type)
FASTアルゴリズムによる角の検出[【詳解】(英語]
CV_EXPORTS void cv::AGAST (InputArray image, CV_OUT std::vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression=true)
CV_EXPORTS void cv::AGAST (InputArray image, CV_OUT std::vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression, AgastFeatureDetector::DetectorType type)
AGASTアルゴリズムを用いてコーナーを検出します.[【詳解】(英語]

詳解

型定義詳解

DescriptorExtractor

OpenCVにおけるキーポイントディスクリプタの抽出器は,共通のインタフェースを持つラッパーを持ち,同じ問題を解決する異なるアルゴリズムを簡単に切り替えることができます.このセクションでは,多次元空間のベクトルとして表現されるディスクリプタの計算について説明します.ベクトルディスクリプタ抽出器を実装するすべてのオブジェクトは, DescriptorExtractor インタフェースを継承します.

FeatureDetector

OpenCVの特徴検出器は,同じ問題を解決する異なるアルゴリズムを簡単に切り替えることができるように,共通のインタフェースを持つラッパーを持ちます.キーポイント検出器を実装するすべてのオブジェクトは, FeatureDetector インタフェースを継承します.

関数詳解

AGAST() [1/2]

CV_EXPORTS void cv::AGAST ( InputArray image,
CV_OUT std::vector< KeyPoint > & keypoints,
int threshold,
bool nonmaxSuppression,
AgastFeatureDetector::DetectorType type
)

AGASTアルゴリズムを用いてコーナーを検出します.

引数
image キーポイント(コーナー)が検出されたグレースケール画像。
keypoints 画像上で検出されたキーポイント.
threshold 中心となるピクセルの強度と,このピクセルを囲む円のピクセルの強度の差に対する閾値.
nonmaxSuppression trueの場合,検出されたコーナー(キーポイント)に対して,最大ではない抑制がかかります.
type 論文で定義されている4つの近傍領域のうちの1つ.AgastFeatureDetector::AGAST_5_8, AgastFeatureDetector::AGAST_7_12d, AgastFeatureDetector::AGAST_7_12s, AgastFeatureDetector::OAST_9_16。

Intel以外のプラットフォームでは、同じ数値結果を持つAGASTのツリー最適化バリアントがあります。32ビットバイナリのツリーテーブルは、perlスクリプトを使ってオリジナルコードから自動的に生成されました。perlスクリプトとツリー生成の例はfeatures2d/docフォルダにあります。AGASTアルゴリズムを用いてコーナーを検出します。[mair2010_agast]..

AGAST() [2/2]

CV_EXPORTS void cv::AGAST ( InputArray image,
CV_OUT std::vector< KeyPoint > & keypoints,
int threshold,
bool nonmaxSuppression = true
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

FAST() [1/2]

CV_EXPORTS void cv::FAST ( InputArray image,
CV_OUT std::vector< KeyPoint > & keypoints,
int threshold,
bool nonmaxSuppression,
FastFeatureDetector::DetectorType type
)

FASTアルゴリズムによる角の検出

引数
image キーポイント(コーナー)が検出されたグレースケール画像。
keypoints 画像上で検出されたキーポイント.
threshold 中心となるピクセルの強度と,このピクセルを囲む円のピクセルの強度の差に対する閾値.
nonmaxSuppression trueの場合,検出されたコーナー(キーポイント)に対して,最大ではない抑制がかかります.
type 論文で定義されている3つの近傍領域のうちの1つである FastFeatureDetector::TYPE_9_16,FastFeatureDetector::TYPE_7_12,FastFeatureDetector::TYPE_5_8。

によるFASTアルゴリズムを使用して、コーナーを検出します。[Rosten06]を参照してください。.

覚え書き
Python APIでは, cv.FAST_FEATURE_DETECTOR_TYPE_5_8, cv.FAST_FEATURE_DETECTOR_TYPE_7_12, cv.FAST_FEATURE_DETECTOR_TYPE_9_16 という型が与えられています.コーナー検出には, cv.FAST.detect() メソッドを利用します.

FAST() [2/2]

CV_EXPORTS void cv::FAST ( InputArray image,
CV_OUT std::vector< KeyPoint > & keypoints,
int threshold,
bool nonmaxSuppression = true
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。