我有两个向量:x
和y
,其中对应的行包含图像中像素的坐标。
我还有一个变量rad
,用于定义尺寸为2*rad+1 by 2*rad+1
如果x
和y
是标量,
patch = img(y - rad : y + rad, x - rad : x + rad);
围绕点2*rad+1 by 2*rad+1
生成(y,x)
方形窗口。
但是,正如我上面所说,我的x
和y
是向量。有没有办法让窗口围绕每个坐标,而不只是循环遍历矢量。
也就是说,我想避免这个:
patch = zeros(2*rad+1, 2*rad+1, length(x));
for i = 1 : length(x)
patch(:,:,i) = img(y(i) - rad : y(i) + rad, x(i) - rad : x(i) + rad);
end
是否可以以矢量化方式执行此操作?