2016-05-04 14 views
1

同じサイズの2つの単色画像があります。両方とも、共通の1つのポイントにあらかじめアライメント/アンカーされています。元の画像のいくつかの点は、新しい画像内の新しい位置に移動しましたが、線形には移動しませんでした。2つの非線形変換(単色)画像の比較

元画像(赤色)と変形画像(緑色)のオーバーレイ画像が表示されます。私が今探しているのは、「個々のポイントがどれだけシフトしたか」の尺度です。まず

Two overlayed images (red and green), where some areas are shifted and other not.

私は行列全体の単純平均相関または位相相関のいくつかの種類を考えたが、私はそうすることのより良い方法があるかどうかを疑問に思いました。

私はすでにlinkを見つけましたが、それほど助けにはなりませんでした。現在私はこれをMatlabで実装していますが、これは私が推測するところではありません。

更新わかりやすくするために:私はこれらのイメージペアを何百も持っており、どれがどれほど類似しているかを比較したいと思います。これは、最も魅力的なアルゴリズムである必要はなく、実装するのが簡単であり、類似性についての良い見積もりが得られます。

+0

あなたが必要とするものはecaxtlyではないかもしれませんが、この[投稿](http://ch.mathworks.com/company/newsletters/articles/tracking-objects-acquiring-and-analyzing-image-sequences-in-matlab .html)regionpropsを使用して1つの点を追跡する –

+0

1つの画像をもう一度スライドし、一度に1ステップずつ移動し、各ステップで相関を評価します。値を比較すると、最も大きいものが最も一致します。そこから元の画像がどのくらいずれているかを知ることができます。問題は、リニアシフトでなければ、慎重に設計された「スライド」方法が必要なことです。 – Yvon

+0

あなたのアイデアは線形変換(グローバルに動作する)のためにのみ機能します。しかし私はオプティカルフロー解析/弾性モデルのような、ローカルソリューションを探しています。私は元の画像の小さな領域と位相相関を行うことができることを知っていますが、より良い方法がありますか? – AnatraIlDuck

答えて

0

オプティカルフローを試すことができます。 http://www.mathworks.com/discovery/optical-flow.html

通常、フレームTからフレームT + 1までのオブジェクトの移動を測定するために使用されますが、使用することもできます。 Image1の各点がImage2に移動した "オフセット"を示すマップが表示されます。 次に、画像間に「距離」をもたらすメトリックが必要な場合は、おそらくピクセル値などを平均化することができます。

+0

これはさらなる研究を開始するのに良いポイントです。しかし、私は基本的なMATLABを利用できるツールボックスがないので、アルゴリズム自体が役に立ちます。 – AnatraIlDuck

1

正統性のないアプローチでは、画像ペアを整列するためにRASLを使用します。 Pythonの実装はhttps://github.com/welch/raslで、 はRASLのオリジナルのMATLAB実装へのリンクを提供します。

RASLに関連する画像のペアを指定すると、 が画像内のピクセルを最も重視する変換(スケーリング、回転、変換、選択)の を解決します。変換パラメータベクトル 各画像について見出され、パラメータの違いは、これが整列するように設計されて RASLの使用目的ではない(変換パラメータに関して)

あるか「離れて」指示され関連画像の大量の収集と、アライメントと照明の変化に無関心です。しかし、私はちょうど2枚のジッタ付き画像で試してみたところ、すぐにうまくいきました。 私は励ましを受けると明示的にこれを行うシェルコマンドを追加することができます(私はPython実装の著者です)。(今日は、画像を読み込んで結果を返すためにいくつかのPythonを書く必要がありますアラインメント差)。

+0

ありがとう、それは非常に近いです。私はこれを試してみるつもりです。各ピクセルの動きを確認できますか? (例えば、古いピクセルベクトルを新しいピクセルベクトルにマッピングする) – AnatraIlDuck

+0

Matlabの実装は、私が残念ながら手で持っていないイメージツールボックスに依存していることがわかります。私はPythonの実装を確認するつもりです – AnatraIlDuck

+0

ええ!私はmatlabのライセンスも持っていないので、Pythonのバージョンです。この使用のために別の呼び出しシグネチャ(変換パラメータを直接返すもの)が必要になります。ご質問がある場合は私に直接お問い合わせください、私はあなたのためにこの作品を見たいと思います。 – welch