如何应用滑动窗口在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
答案 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