我试着转动这个:
for r=1:fsize
for c=1:fsize
mask(r,c) = exp(-(((r-centre)^2+(c-centre)^2)/2*(sigma^2)));
end
end
到
mask(1:fsize,1:fsize) = exp(-(((1-centre:fsize-centre).^2.+(1-centre:fsize-centre).^2)./2.*(sigma.^2)));
但我现在收到错误"下标分配维度不匹配"。
我的理解是,这与两个数组中的索引不匹配有关,但这里似乎不是这样?
为此使用meshgrid
,
[r c]=meshgrid(1:fsize);
mask = exp(-(((r-centre).^2+(c-centre).^2)/2*(sigma^2)));
这假设centre
和sigma
是标量。