2017-12-05 9 views
1

私はOpenCVSharp3の初心者です。このライブラリを使用した画像マッチングの例をいくつか見てきました。Image opencvsharp3を使用したマッチング

私の質問の鍵は、このquestionのコードがほぼ100%同一の2つの画像を比較する必要があるかどうかわかりませんが、そのうちの1つは回転しています(無制限の回転)ソース(いくつかの画素)からずらされている。

このような質問からの方法は、ある画像が他の画像の中にあるかどうかを基本的に比較しますが、私のプロジェクトでは、同じサイズの画像を5枚だけ比較する必要があります。

このようなアルゴリズムは有効ですか?

編集:ここでは

が同じことを検出するために、5枚の画像の例である:

enter image description here

答えて

0

それは有効であるが、ことができます。

  1. あなたが無制限の回転をしたい場合、あなたはあなたの参照画像を回転した他の画像の無限の組み合わせと比較する必要があります。
  2. 他の画像がソースからずらされている場合は、すべての可能なディスプレイスメント画像を生成する必要があります。
  3. この2つの手法を組み合わせると、多くの組み合わせが得られます。

はい、1つの画像に対して可能なすべての異なる画像を生成し、それらを参照画像と比較することができます。

これはあまり堅牢ではありません。優れたピクセル数で置き換えられた画像で試してみると、何が追加されますか?イメージに色調整が行われていたらどうしますか?グレイスケールであれば?

この問題で機械学習を使用することをお勧めします。 Iは次のように進行する:

  1. (それが可能であることをすべての回転、変位、音を作る)各画像のための画像のセット
  2. を行い、データの増強を行います。
  3. CNNを使用して、画像の各変形を同じ画像として認識するようにCNNをトレーニングします。
  4. あなたが行っている、あなたは仕事をするアルゴリズム:)

ここでのpython see here

とMNIST CNNの簡単な実装のためにC# https://github.com/migueldeicaza/TensorFlowSharp

ためtensorflowの実装を持っています

Here CNNの仕組みを説明するビデオ(機能の検出とプーリング操作を見てください)は、

関連する問題