我为每个像素设置了一个圆形搜索窗口。要在每个中心点的圆的最后1个点之间创建位移矢量,我无法做到。但我必须在中心点和终点之间做到这一点。
img=rand(5,10);
r = 2; % radius
Nsize=size(img,1)*size(img,2);
[R, C] = ndgrid(1 : size(img, 1), 1 : size(img, 2));
k=1;
d=1;
for a=1:size(img,1)
for b=1:size(img,2)
coordinate=[a b];
for kk = 1 : size(coordinate, 1)
r = coordinate(kk, 1); c = coordinate(kk, 2); % Get the pixel locations
circular_search_window{d} = (R - r).^2 + (C - c).^2 <= r*r;
pix{d} =double(img).*circular_search_window{1,k};
if d<=Nsize
d=d+1;
end
if k<=Nsize
k=k+1;
end
end
end
end
通过查看此代码,您可以更好地理解。