如何应用滑动窗口在matlab中减去两个不同的图像?

时间:2013-07-08 08:29:55

标签: matlab image-processing sliding-window

如何应用滑动窗口在matlab中减去两个不同的图像, 窗口大小必须是4X4,

请帮帮我

我想找到两个不同图像之间的相似度值。如果A和B是两个2个图像,则以滑动窗口方式取每个A& B的每个4x4矩阵之间的差异 我尝试了一个代码,我不知道它是否正确

m=imread('index.jpeg');
sal=imread('salt.jpg');
salt=rgb2gray(sal);
ab=rgb2gray(m);
imshow(ab);
imh=size(ab,2);
imw=size(ab,1);
wh=4;
ww=4; 
k=0;
disp(imh),disp(imw);
if 1
for j=1:imh+wh-1

    for i=1:imw+ww-1

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

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

        w3=w1-w2;

        disp(w3);
        disp('next mat');


    end
    k=k+1;
disp(k);
end

end

1 个答案:

答案 0 :(得分:0)

for - 循环的上限是造成麻烦的原因 您指定:

imh=size(ab,2);
imw=size(ab,1);

但是,您的for - 循环具有以下条件:

j=1:imh+wh-1

i=1:imw+ww-1

所以你越过'高度'和'宽度'尺寸 试试这个:

for j=1:imh-wh
    for i=1:imw-ww
        w1=ab(j:j+wh,i:i+wh,:);
        w2=salt(j:j+wh,i:i+wh,:);
        w3=w1-w2;
    end
    k=k+1;
end