Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.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/image-processing/2.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
基于matlab图像的滑动窗口_Matlab_Image Processing - Fatal编程技术网

基于matlab图像的滑动窗口

基于matlab图像的滑动窗口,matlab,image-processing,Matlab,Image Processing,我需要在图像Z上创建一个32x32的滑动窗口。然后我需要检查图像上每个窗口的平均强度 我可以使用: n=[32,32] h=f特殊('平均',n); 过滤器2(h、img) 但是,这仅创建12x30。有人能看出我哪里出错了吗?您的图像是364x350,窗口大小是32x32。结果是: 请注意,最后一列中的窗口是32x30,最后一行中的窗口是12x32,最后一个窗口(右下角)是12x30。这是最后一个要计算的值,也是为什么代码停止运行时会得到该值 我在这里看到三种选择: 用两列像素填充最后一列,用

我需要在图像Z上创建一个32x32的滑动窗口。然后我需要检查图像上每个窗口的平均强度

我可以使用: n=[32,32] h=f特殊('平均',n); 过滤器2(h、img)


但是,这仅创建12x30。有人能看出我哪里出错了吗?

您的图像是364x350,窗口大小是32x32。结果是:

请注意,最后一列中的窗口是32x30,最后一行中的窗口是12x32,最后一个窗口(右下角)是12x30。这是最后一个要计算的值,也是为什么代码停止运行时会得到该值

我在这里看到三种选择:

  • 用两列像素填充最后一列,用20行像素填充最后一行(也许用零填充?)
  • 放弃最后一列和最后一行
  • 将窗口大小更改为MxN,其中M是364的除数,N是350的除数

  • 在for循环之前初始化

    e=1

    然后在for循环中启动计数器,并输入以下代码

    imgWindow (:,:,e)= Z(row:min(end,row+N-1), col:min(end,col+N-1));
    
    而不是

    imgWindow = Z(row:min(end,row+N-1), col:min(end,col+N-1));
    
    希望它能帮助你。
    关于

    这个神奇的单词
    struct
    repmat
    一起在做什么?它可能无法解决手头的问题,但对它很好奇。如果你键入
    size(Z)
    ,你会得到什么?如果你有图像处理工具箱,你可能会想使用它现成的滑动过滤器函数。你也可以从我的一些实现中获得灵感,
    nfilter
    这里:,
    filter2
    这里:如果这是你想要的平均值,看看这个:我认为前两个选项中的一个最好,因为我将在不同大小的不同图像上使用此代码。但是,如果我使用这两个选项中的一个,这会影响窗口的平均强度值吗?在选项一中,是的。你不能使用那些不是32x32的窗口的平均强度吗?我会坚持使用第二个选项,但它实际上取决于你的应用程序。
    imgWindow = Z(row:min(end,row+N-1), col:min(end,col+N-1));