Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 两个图像(主图像和子图像)矩阵上的滑动窗口_Image_Matlab_Matrix_Sliding Window - Fatal编程技术网

Image 两个图像(主图像和子图像)矩阵上的滑动窗口

Image 两个图像(主图像和子图像)矩阵上的滑动窗口,image,matlab,matrix,sliding-window,Image,Matlab,Matrix,Sliding Window,我对matlab还不熟悉,有些东西让我很为难。如果你能帮我,我将不胜感激。我必须继续使用滑动窗口技术。主窗口应该是一个40x40的矩阵,而我想滑动的子矩阵是一个10x10的窗口图像矩阵。我想检查两个矩阵是否相等,我认为'isequal()'函数是检查两个矩阵相等性的更好选项。请提供帮助。您可以使用conv2,也可以更一般地使用。由于Dan已经建议了conv2,我将给出另一个例子: 如果矩阵为M且窗口为w10x10: f = @(x) isequall(x(:)),w(:)); Ans = nlf

我对matlab还不熟悉,有些东西让我很为难。如果你能帮我,我将不胜感激。我必须继续使用滑动窗口技术。主窗口应该是一个40x40的矩阵,而我想滑动的子矩阵是一个10x10的窗口图像矩阵。我想检查两个矩阵是否相等,我认为'isequal()'函数是检查两个矩阵相等性的更好选项。请提供帮助。

您可以使用
conv2
,也可以更一般地使用。由于Dan已经建议了
conv2
,我将给出另一个例子:

如果矩阵为
M
且窗口为
w
10x10:

f = @(x) isequall(x(:)),w(:));
Ans = nlfilter(M,[10 10],f);
试试这个代码

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、wh值来更改窗口大小


如果两个矩阵相似,那么w3值将为零

您想要什么样的相等?窗口中有什么类型的数据。您是否将10x10滑动窗口与主窗口的10x10子集进行比较?顺便说一句,根据您的尝试,您可能会发现
conv2
非常有用(即2D卷积)是的,先生,我正在将10x10图像矩阵与40x40大小的主图像矩阵的10x10子集进行比较。谢谢您,先生,但很抱歉,因为我是matlab新手,我有这些愚蠢的疑问。对不起所以我要做的是,将10x10的图像矩阵存储在“w”中。。?给出w=imread('image_file.jpg');这样行吗?我想你手边已经有了
w
M
。。。您在问题中写道,您希望在40x40矩阵上滑动10x10矩阵。如果您不知道如何获得,我建议您先阅读一些基本的matlab文档。