2

私は画像処理と画像マッチングに非常に慣れていないため、明確に理解していません。私がする必要があるのは、a) 画像を取得する b) そこから特徴を抽出する (SIFT、SURF はマッチングに適しています) c) ハッシュを作成する (MD5 や SHA1 など) d) データベースに保存し、必要に応じて別の画像を検索します似ています。

基本的に (A Tineye)

OpenCV / SURFを参照しました記述子から画像ハッシュ / フィンガープリント / 署名を生成する方法は? . pHash も確認し、opencv simple_matcher.cpp を介して SIFT SURF を実行しようとしました。

幾何学的ハッシュ/ローカル機密ハッシュについて少し読んでください。正しい方向に進んでいるかどうかはわかりません。

SIFT/SURF (OpenCV) から抽出された機能からハッシュを作成するにはどうすればよいですか? 誰かが従うべき簡単な手順や前進するための参照を教えてくれたらありがたい.

4

1 に答える 1

3

わかりました、さまざまなレベルの複雑さを持つ画像を一致させるための優れた方法がたくさんあります。あなたが説明した問題には十分であり、実装が本当に簡単だと思う提案を提供します(あなたはCVの超初心者だと言っているので:))。

  1. computer1 上の画像で疎または密な SURF 特徴を計算します
  2. ボキャブラリを作成します (このタスクでは、ランダムなボキャブラリを生成するだけでもおそらく十分です)
  3. 特徴を語彙に割り当てる (nn)
  4. kd ツリーを構築する (最近傍に使用する) か、いくつかの分類子 (合計など) を学習する
  5. 分類子を computer2 上の画像に適用します (サーフを計算し、語彙に割り当てた後)

同じ画像が最高の分類スコアを生成する可能性が最も高くなります。

より高速なハッシング アプローチに対してこのアプローチを提案する理由は、500 までの画像でパフォーマンスの問題が発生する可能性が低いためです。あなたが望むものを達成するために段階的に従うことができます。

于 2013-06-30T17:23:47.323 に答える