0

私はmatlabが初めてで、いくつかのことに行き詰まっています。あなたがそれを手伝ってくれれば幸いです。スライディング ウィンドウ テクニックを使用する必要があります。メイン ウィンドウは 40x40 のマトリックスで、スライドさせたいサブ マトリックスは 10x10 のウィンドウ イメージ マトリックスです。2 つの行列が等しいかどうかを確認したいのですが、2 つの行列が等しいかどうかを確認するには、「isequal()」関数の方が適していると思います。助けてください。

4

2 に答える 2

1

conv2またはより一般的に使用できますnlfilter。ダンがすでに提案したのでconv2、他の例を挙げます。

マトリックスがMあり、ウィンドウがw10x10 の場合:

f = @(x) isequall(x(:)),w(:));
Ans = nlfilter(M,[10 10],f);
于 2013-05-07T17:32:04.873 に答える
0

このコードを試してください

a=[1 : 8 ; 9 : 16 ; 17 : 24];
b=[1 : 8 ; 9 : 16 ; 17 : 24];

imw=size(a,2);

imh=size(a,1);

disp(imh);

disp(imw);

wh=1;

ww=3; 

for j=1:imh-wh+1 

    for i=1:imh-ww+1

        w1=a(j:j+wh-1,i:i+ww-1,:);

        w2=b(j:j+wh-1,i:i+ww-1,:);

        w3=w1-w2;

        disp(w3);

    end

end

ここでは、ウィンドウ サイズは 1X3 として取得されます

ループ制限と ww,w 値を変更することで、ウィンドウ サイズを変更できます。

2 つの行列が類似している場合、w3 の値はゼロになります。

于 2013-07-16T06:06:56.263 に答える