是否有可能为此制作更具矢量化的解决方案?

时间:2015-02-27 23:59:17

标签: matlab

我应该在MATLAB中为图像矩阵做一个非常简单的模糊算法。该函数的目的是采用m×n矩阵,并将每个元素及其相邻元素的平均值设为"模糊" m-2 x n-2。

我目前的代码如下:

function [out] = blurring(anImage)
 tic;
 [ny nx] = size(anImage);
 out = zeros(ny-2, nx-2);
 yv = 1:ny-2;
 xv = 1:nx-2;
 for iy=0:2;
  for ix = 0:2;
  out = out + anImage(yv + iy, xv + ix);
  end
 end
 out = out/9;
 toc
end

目标是通过消除代码的迭代部分来完全矢量化我的解决方案。我不介意,如果这只能让程序变慢一点。

1 个答案:

答案 0 :(得分:3)

您实施的是卷积的特例:

conv2(anImage,ones(3,3)./9,'valid')