2012-03-28 15 views
0

現在、特定の画像を相互に比較し(ネストされたforループを使用)、どの画像が互いに最も近いか(特に正確に同じではない)線形相関または畳込みを使用することによって、最も異なっている。線形相関を使用してMATLABを使用して画像を比較する方法

すべての画像がまったく同じ寸法で2D matriciesているとして、私は次の操作を行うようになりました(相関を使用している場合)内を考え出すことができる唯一のこと:

a = imread('image_1.jpg'); 
b = imread('image_2.jpg'); 
c = corr2(a,b);   
if c==1 
disp('The images are same') 

は問題が上記のことです、それと全く同じイメージを自己と比較するときにのみ動作し、同様に見える他のイメージは動作しません。どうすればこの問題を解決できますか?ありがとう

答えて

1

corr2は相関関数であり、値を与えます。値が大きいほど、より良い一致が得られます。 cの値を別の行列Cに格納し、最大のcを持つペアを選択して、お互いに最も近い2つの画像を取得することができます。

0

代わりにconv2を使用して最大値を探します。あなたが持っているかもしれない登録問題には、より寛大であるでしょう。類似していると思われるサンプル画像をアップロードしても、類似していないと思われる場合は、お手伝いできます。

3

機能*xcorr2を使用する必要があります。

関連する問題