6

この状況は、これまでに尋ねられたものとは少し異なり、次のようなものです。2 つの類似した画像の写真を撮った場合、2 つの画像の異なる特徴を強調できるようにしたいと考えています。たとえば、次の 2 つの半分の子供向けの間違い探しゲームは次のとおりです。

左半分の違いを見つける 右半分の違いを見つける

画像の違いは、ビットの欠落/追加および/または色の変化であり、ピクセルごとの比較よりも巧妙なことを行うことによって元の画像ファイルから簡単に検出できる種類の違いです。しかし、それらが光の変動や写真の不正確さの影響を受けやすいという事実を考えると、もっと寛大で賢いアルゴリズムが必要になるでしょう。

ご覧のとおり、画像を重ねると完全に揃うとは限りません。

この質問は言語にとらわれないタグが付けられています。関連するアルゴリズムに向けた回答を期待しているためです。ただし、現在の実装が存在する場合、特に Java、Ruby、または C に興味があります。

4

2 に答える 2

5

次のアプローチが機能するはずです。これらの機能はすべて OpenCV で利用できます。ホモグラフィを計算するためのこの例を見てください。

  • コーナー検出器を使用して 2 つのイメージのキーポイントを検出します。
  • キーポイントの記述子 (SIFT/SURF) を抽出します。
  • キーポイントを一致させ、RANSAC を使用してホモグラフィを計算します。これにより、2 番目のイメージが最初のイメージに位置合わせされます。
  • ホモグラフィを 2 番目のイメージに適用して、最初のイメージと位置合わせします。
  • 2 つの画像のピクセル単位の差を計算するだけで、最初の画像から 2 番目の画像に変更されたすべての画像が強調表示されます。
于 2013-04-10T10:35:36.477 に答える
4

私の一般的なアプローチは、オプティカル フローを使用して両方の画像を整列し、整列したらピクセルごとの比較を実行することです。

ただし、詳細については、標準のオプティカル フロー (OpenCV など) は、あなたの場合のように 2 つの画像が大きく異なる場合、失敗する可能性があります。それが実際に失敗した場合、画像が大幅に異なっていても機能するはずの最近のオプティカル フロー技術があります。たとえば、Ce Liu らによる SIFT フローに関する論文を見てみるとよいでしょう。

于 2013-04-09T19:05:52.673 に答える