MATLAB图像修补程序围绕多个坐标(在矢量中)没有循环

时间:2015-12-18 05:54:10

标签: matlab image-processing computer-vision

我有两个向量:xy,其中对应的行包含图像中像素的坐标。

我还有一个变量rad,用于定义尺寸为2*rad+1 by 2*rad+1

的方形窗口

如果xy是标量,

patch = img(y - rad : y + rad, x - rad : x + rad);

围绕点2*rad+1 by 2*rad+1生成(y,x)方形窗口。

但是,正如我上面所说,我的xy是向量。有没有办法让窗口围绕每个坐标,而不只是循环遍历矢量。

也就是说,我想避免这个:

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

是否可以以矢量化方式执行此操作?

0 个答案:

没有答案