9

(C ++)OpenCvを使用したシフト特徴抽出の作業を開始しようとしています。SIFTを使用して特徴を抽出し、元の画像(本など)とシーンを照合してから、カメラのポーズを計算する必要があります。

これまでのところ、SURFを使用してこのアルゴリズムを見つけました。誰かが私が始めることができるベースコード、または多分リンクのアルゴリズムをSURFからSIFTに変換する方法を知っていますか?

前もって感謝します。

編集: わかりました、私はふるい分けの問題の解決策を考え出しました。今、私はカメラのポーズを理解しようとしています。私が使用しようとしているのは、solvePnPです。誰かが例を教えてくれますか?

4

3 に答える 3

6

新しい OpenCV ドキュメント Web サイトのfeature2d チュートリアル セクションを確認してください。コードを示すチュートリアルがあります:

  1. SURFなどによる特徴検出
  2. 機能の説明
  3. 機能マッチング
于 2012-07-07T20:02:49.087 に答える
4

画像とシーンの一致を見つけることができた場合は、cv::findHomography() を適用することをお勧めします。入力として 4 つの一致を使用してホモグラフィ行列を計算します。

ホモグラフィ行列からカメラポーズに直接変換できます。

于 2012-09-03T13:27:19.787 に答える
0

SURF の代わりに SIFT を使用するために、 と に変更しSurfFeatureDetectorました。一部の画像では、SURF 検出器 <--> SIFT 記述子の組み合わせで比較的正確な結果が得られることがわかりましたが、要件に応じて、他の組み合わせ (FAST 検出器 - FREAK 記述子または ORB 検出器 - BRISK 記述子) を試す必要があります。SiftFeatureDetectorSurfDescriptorExtractorSiftDescriptorExtractor

質問のホモグラフィ部分を解決するには、このチュートリアルに従ってください: Feature Matching and Homography

また、これが役立つかもしれません:ポーズ推定

于 2012-11-08T14:30:16.500 に答える