2012-03-28 6 views
0

私は特徴を検出するためのOpenCVを使用して開始しました:ようopenCVのトレーニングイメージはどういう意味ですか?

シーケンス:

cv::SurfFeatureDetector detector(40 ); 
std::vector<cv::KeyPoint> keypoints_object; 
detector.detect(img_object, keypoints_object); 
//-- Step 2: Calculate descriptors (feature vectors) 
cv::SurfDescriptorExtractor extractor; 
cv::Mat descriptors_object, descriptors_scene; 
extractor.compute(img_object, keypoints_object, descriptors_object); 
//-- Step 3: Matching descriptor vectors using FLANN matcher 

は、他の画像から抽出した特徴と照合することができ、画像の特徴を抽出します。この文脈では、「トレーニングイメージ」という用語は何を意味しますか。

画像を何回も回転および/または拡大縮小する必要がありますか?

もしそうなら、フィーチャを単一のディスクリプタにマージできますか?

答えて

2

特徴抽出のコンテキストでのトレーニングイメージは私に分類を考えさせます。そこには、さまざまなクラスからのフィーチャーを抽出する一連のトレーニングイメージがあります。次に、この機能を使用して何らかの種類の分類子を学習しようとします。そこで、これらの画像を使用して分類子を訓練しました。

SURF機能は、スケールおよび回転不変です。したがって、画像を拡大/縮小する必要はありません。

イメージごとに1つの機能ベクトルを取得するには、bag of words modelを使用します。

+0

+1実際にFAST機能を使用します。DBに保存して、カムからキャプチャした画像とマッチングできますか?トレーニング手順はありますか? – stacker

+0

もちろん可能です。この手順は[1最近傍分類器](http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm)と呼ばれます。次に、トレーニング段階は単にデータベースに画像を追加することから成っています。 – sietschie

+0

ありがとうございます、私はまた、(レコードのための)別のリソースを見つけましたhttp://opencv.willowgarage.com/documentation/cpp/k_nearest_neighbors.html – stacker

関連する問題