Я пытаюсь улучшить скорость этого кода, но я не могу понять, как здесь использовать векторизацию (вместо цикла for). Эта функция взята из моего внедрения SAD с использованием соответствие шаблону.
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;
Для изображения 640х480 эта функция работает около 22-25 секунд.