function featureResponse = evaluate(intImg, feature, stepsize, scale)
import haar.*
windowSize = HaarFeature.WINDOW_SIZE .* scale;
[imgSizeY, imgSizeX] = size(intImg);
dim = num2cell(fix((size(intImg) - windowSize)./stepsize));
featureResponse = zeros(dim{:});
p = (feature.pos - 1) .* scale + 1;
numSubRects = size(feature.type);
s = feature.scale .* scale;
yIdx = 1;
y = p(1);
while yIdx < dim{1}
xIdx = 1;
x = p(2);
while xIdx < dim{2}
result = 0;
for fy = 1:numSubRects(1)
for fx = 1:numSubRects(2)
result = result + feature.type(fy, fx) *...
(...
intImg(y + fy *s(1), x + fx *s(2)) ...
- intImg(y +(fy-1)*s(1), x + fx *s(2)) ...
- intImg(y + fy *s(1), x +(fx-1)*s(2)) ...
+ (intImg(y +(fy-1)*s(1), x +(fx-1)*s(2)))...
);
end
end
featureResponse(yIdx, xIdx) = result;
x = x + stepsize(2);
xIdx = xIdx + 1;
end
y = y + stepsize(1);
yIdx = yIdx + 1;
end
end
0 Comments
Sign in to comment.