我应该为MATLAB中的图像矩阵做一个非常简单的模糊算法。该函数的目的是获取amxn矩阵,并对每个元素及其相邻元素取平均值,以得出“模糊的” 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
目的是通过消除代码的迭代部分来完全向量化我的解决方案。我不介意,如果那只能使程序变慢一点。
您实现的是卷积的一种特殊情况:
conv2(anImage,ones(3,3)./9,'valid')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句