Matlab 基于图像滑动窗口的相似性比较

Matlab 基于图像滑动窗口的相似性比较,matlab,image-processing,Matlab,Image Processing,原始图像是 我想将此图像中的矩形对象与矩形遮罩进行比较?如何选择矩形遮罩?如何比较矩形图像和遮罩的相似性。我想使用 从报纸上 一种基于分数傅里叶变换的图像融合方法。为此,我编写了一个滑动窗口模板。如何实现这个等式: I = imread('test1.png'); imageWidth = size(I, 2); imageHeight = size(I, 1); windowWidth = 32; windowHeight = 32; for j = 1:imageHeight - wi

原始图像是

我想将此图像中的矩形对象与矩形遮罩进行比较?如何选择矩形遮罩?如何比较矩形图像和遮罩的相似性。我想使用 从报纸上 一种基于分数傅里叶变换的图像融合方法。为此,我编写了一个滑动窗口模板。如何实现这个等式:

I = imread('test1.png');
imageWidth = size(I, 2);
imageHeight = size(I, 1);

windowWidth = 32;
windowHeight = 32;

for j = 1:imageHeight - windowHeight + 1
    for i = 1:imageWidth - windowWidth + 1
        window = I(j:j + windowHeight - 1, i:i + windowWidth - 1, :);
        S(j,i)=sum(sum(abs(window).*abs(mask)))/(sum(sum(window.^2))+sum(sum(mask.^2)));
    end
end

提取了你的窗口,如果我正确理解了你的相似性函数

S(j, i)=sum(sum(abs(window).*abs(mask)))/(sum(sum(window.^2))+sum(sum(mask.^2)));
为了提高效率,最好使用在图像上执行滑动窗口操作

首先,您需要创建一个函数来计算相似度。最简单的方法是作为表单的匿名函数执行此操作:

similarity=@(M) 'Implent your similarity function here..';
由于屏蔽在屏蔽窗口时不会改变,所以您应该能够直接调用它,而不需要它作为函数的变量


然后调用
nlfilter(img[mn],相似度)其中[mn]给出了要使用的窗口的大小

方程中的参数,如
K
L
f
没有定义。f是图像,K和L是图像的高度和宽度,K和L是整个图像或遮罩的大小?要么是,要么是,这里没有意义。考虑到你在做什么,我想你是指面具。我不明白。我不知道匿名函数。你能重新安排它吗?匿名函数的位与S(j,I)=的RHS中的相同。。。将窗口替换为M(或将M更改为窗口)