Я знаю, что это выглядит как-то не связанным с ошибками кода и развитием, но Я хочу знать, могут ли кто-то понять эти коды интегрального изображения и локального двоичного кода и расскажите, как они влияют на полученные гистограммы.Как интегральное изображение влияет на результат локального двоичного шаблона или центрального симметричного локального двоичного шаблона
Перед использованием интегрального изображения выходная гистограмма является нормальной, но после применения метода интегрального изображения я обнаружил, что большая часть гистограммы изменилась на нули. Чтобы прояснить ситуацию, ожидаемая польза от использования интегрального изображения заключается в ускорении процесса lbp. На самом деле, я этого раньше не видел, потому что я пытаюсь это сделать в первый раз. Кто-нибудь, кто знает об этом, может мне помочь?
Эти коды каждого метода:
Интегральные изображения
function [outimg] = integral(image)
[y,x] = size(image);
outimg = zeros(y+1,x+1);
disp(y);
for a = 1:y+1
for b = 1:x+1
rx = b-1;
ry = a-1;
while ry>=1
while rx>=1
outimg(a,b) = outimg(a,b)+image(ry,rx);
rx = rx-1;
end
rx = b-1;
ry = ry-1;
end
% outimg(a,b) = outimg(a,b)-image(a,b);
end
end
% outimg(1,1) = image(1,1);
disp('end loop');
end
CS-LBP
function h = CSLBP(I)
%% this function takes patch or image as input and return Histogram of
%% CSLBP operator.
h = zeros(1,16);
[y,x] = size(I);
T = 0.1; % threshold given by authors in their paper
for i = 2:y-1
for j = 2:x-1
% keeping I(j,i) as center we compute CSLBP
% N0 - N4
a = ((I(i,j+1) - I(i, j-1) > T) * 2^0);
b = ((I(i+1,j+1) - I(i-1, j-1) > T) * 2^1);
c = ((I(i+1,j) - I(i-1, j) > T) * 2^2);
d = ((I(i+1,j-1) - I(i - 1, j + 1) > T) * 2^3);
e = a+b+c+d;
h(e+1) = h(e+1) + 1;
end
end
end