OpenCV 4.5.3(日本語機械翻訳)
公開メンバ関数 | 限定公開型 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
cv::linemod::Detector クラス

Object detector using the LINE template matching algorithm with any set of modalities. [詳解]

#include <linemod.hpp>

公開メンバ関数

CV_WRAP Detector ()
空のコンストラクタ,read()で初期化します.
CV_WRAP Detector (const std::vector< Ptr< Modality > > &modalities, const std::vector< int > &T_pyramid)
コンストラクタ.[【詳解】(英語]
CV_WRAP void match (const std::vector< Mat > &sources, float threshold, CV_OUT std::vector< Match > &matches, const std::vector< String > &class_ids=std::vector< String >(), OutputArrayOfArrays quantized_images=noArray(), const std::vector< Mat > &masks=std::vector< Mat >()) const
テンプレートマッチングで物体を検出します。[【詳解】(英語]
CV_WRAP int addTemplate (const std::vector< Mat > &sources, const String &class_id, const Mat &object_mask, CV_OUT Rect *bounding_box=NULL)
新しいオブジェクトテンプレートを追加します。[【詳解】(英語]
CV_WRAP int addSyntheticTemplate (const std::vector< Template > &templates, const String &class_id)
外部から計算された新しいオブジェクトテンプレートを追加します。
CV_WRAP const std::vector< Ptr< Modality > > & getModalities () const
この検出器が使用するモダリティを取得します。[【詳解】(英語]
CV_WRAP int getT (int pyramid_level) const
ピラミッドレベルのサンプリングステップTを取得します。
CV_WRAP int pyramidLevels () const
この検出器で使用されているピラミッドレベルの数を取得します。
CV_WRAP const std::vector< Template > & getTemplates (const String &class_id, int template_id) const
template_idで識別されるテンプレートピラミッドを取得します。[【詳解】(英語]
CV_WRAP int numTemplates () const
CV_WRAP int numTemplates (const String &class_id) const
CV_WRAP int numClasses () const
CV_WRAP std::vector< String > classIds () const
CV_WRAP void read (const FileNode &fn)
void write (FileStorage &fs) const
String readClass (const FileNode &fn, const String &class_id_override="")
void writeClass (const String &class_id, FileStorage &fs) const
CV_WRAP void readClasses (const std::vector< String > &class_ids, const String &format="templates_%s.yml.gz")
CV_WRAP void writeClasses (const String &format="templates_%s.yml.gz") const

限定公開型

typedef std::vector< Template > TemplatePyramid
typedef std::map< String, std::vector< TemplatePyramid > > TemplatesMap
typedef std::vector< Mat > LinearMemories
typedef std::vector< std::vector< LinearMemories > > LinearMemoryPyramid

限定公開メンバ関数

void matchClass (const LinearMemoryPyramid &lm_pyramid, const std::vector< Size > &sizes, float threshold, std::vector< Match > &matches, const String &class_id, const std::vector< TemplatePyramid > &template_pyramids) const

限定公開変数類

std::vector< Ptr< Modality > > modalities
int pyramid_levels
std::vector< int > T_at_level
TemplatesMap class_templates

詳解

任意のモダリティセットを用いた LINE テンプレートマッチングアルゴリズムによる物体検出器.

構築子と解体子

Detector()

CV_WRAP cv::linemod::Detector::Detector ( const std::vector< Ptr< Modality > > & modalities,
const std::vector< int > & T_pyramid
)

コンストラクタ.

引数
modalities 使用するモダリティ(カラーグラデーション,深さ方向の法線,...).
T_pyramid 各ピラミッドレベルにおけるサンプリングステップTの値.ピラミッドレベルの数はT_pyramid.size()です。

関数詳解

addTemplate()

CV_WRAP int cv::linemod::Detector::addTemplate ( const std::vector< Mat > & sources,
const String & class_id,
const Mat & object_mask,
CV_OUT Rect * bounding_box = NULL
)

新しいオブジェクトテンプレートを追加します。

引数
sources ソース画像(各モダリティに1つずつ)。
class_id オブジェクトのクラスID
object_mask オブジェクトを背景から分離するマスク。
[out]. bounding_box オプションとして,抽出された特徴のバウンディングボックスを返します.
戻り値
Template有効なテンプレートの抽出に失敗した場合は,-1が返されます。

getModalities()

CV_WRAP const std::vector< Ptr< Modality > > & cv::linemod::Detector::getModalities ( ) const
inline

この検出器が使用するモダリティを取得します。

モダリティを追加・削除することはできませんが,パラメータを調整するために dynamic_cast することは可能です。

getTemplates()

CV_WRAP const std::vector< Template > & cv::linemod::Detector::getTemplates ( const String & class_id,
int template_id
) const

template_idで識別されるテンプレートピラミッドを取得します。

例えば、2つのモダリティ(Gradient, Normal)と2つのピラミッドレベル(L0,L1)の場合、順番は(GradientL0, NormalL0, GradientL1, NormalL1)となります。

match()

CV_WRAP void cv::linemod::Detector::match ( const std::vector< Mat > & sources,
float threshold,
CV_OUT std::vector< Match > & matches,
const std::vector< String > & class_ids = std::vector< String >(),
OutputArrayOfArrays quantized_images = noArray(),
const std::vector< Mat > & masks = std::vector<Mat >()
) const

テンプレートマッチングで物体を検出します。

ピラミッドの最下層でグローバルにマッチングを行い、ピラミッドを段階的に上げていくことで、局所的に絞り込んでいきます。

引数
sources ソース画像(各モダリティに1つずつ)。
threshold 類似性のしきい値は、0から100の間のパーセンテージです。
[out]. matches Templateマッチを、類似性スコアでソートします。
class_ids 空でない場合は,目的のオブジェクトクラスのみを検索します.
[out]. quantized_images オプションとして,量子化された画像の vector<Mat> を返します.
masks マッチングの際に考慮されるマスク.マスクは CV_8UC1 でなければならず,255 は有効なピクセルを表します.空ではない場合,ベクトルは source と同じサイズでなければいけません.各要素は空であるか,対応するソースと同じサイズでなければいけません.

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