5

画像のサイズがPXPである2つの画像f1とf2の間で、次の相関関係を見つけようとしています。

同じためにforループプログラムを作成しましたが、組み込み関数の方が高速だと思います。

ここに画像の説明を入力してください

matlabのどの関数がこれを計算するのに役立ちますか?

また、両方の画像のサイズがMXNの場合、この数式がどのように変更されるか、または関数がそれを処理できるかどうかを誰かに教えてもらえますか。

編集:

シフトされていない画像の相関の値だけが必要な場合に時間がかかりすぎることを確認するのに役立つxcorr2よりも高速な関数はありますか?

4

3 に答える 3

9

これは、2つの画像(行列)間の相関(係数)を行うために使用される関数です。

r = corr2(A、B)は、AとBの間の相関係数を計算します。ここで、AとBは同じサイズの行列またはベクトルです。

一方、xcorr2(A、B)は相互相関を解きます。

于 2012-11-18T23:04:40.333 に答える
7

MATLABはxcorr2この目的のためだけにあります。あなたのコードは次のようになると思います:

r = xcorr2(f1, f2) / (P .^ 2)

2つの画像はどこf1にありますか。f2結果の行列rは(2P-1)×(2P-1)行列であり、2つの画像が中心からの要素のオフセットに対応するオフセットでシフトされると、その各要素はf1とf2の間の類似性の尺度を反映します。 。

シフトされていない2つの画像間の相関関係のみに関心がある場合は、corr2@ TheByzantineが彼の回答で示唆しているように、実行時間を節約して使用する必要があることに注意してください。

于 2012-11-18T23:02:31.460 に答える
6

xcorr2関数を使用し ます。例えば:

 C=xcorr2(A,B)
于 2012-11-18T23:02:18.980 に答える