我试图提高此代码的速度,但我无法理解如何在此处使用矢量化(而不是for-loop)。该功能来自我使用template matching的SAD的强制。Matlab:模板匹配使用矢量化
function [diffs,time] = search(template,image)
[hT,wT] = size(template);
[hI,wI] = size(image);
h = hI-hT+1;
w = wI-wT+1;
diffs = zeros(h,w);
tic;
for i = 1:h
for j = 1:w
t = image(i:i+hT-1,j:j+wT-1)-template(:,:); % ???
diffs(i,j) = sum(sum(abs(t)));
end
end
time = toc;
对于640x480的图像此功能大约22-25秒。
模板的大小是多少? – Oli
取决于图像。在我的情况下,它是480x360。 – 108rom