origin_lbp.m
function lbp = origin_lbp(gray)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% compute origin local binary pattern
% 3*3
% input: single channel image
% time: 2017-12-04
% author: Nio
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
data = double(gray);
[h, w] = size(data);
lbp = zeros(h, w);
for i = 2 : h-1
for j = 2 : w-1
temp = 0;
temp = temp + s(data(i-1, j-1) - data(i, j)) * 2^7;
temp = temp + s(data(i-1, j) - data(i, j)) * 2^6;
temp = temp + s(data(i-1, j+1) - data(i, j)) * 2^5;
temp = temp + s(data(i, j-1) - data(i, j)) * 2^4;
temp = temp + s(data(i, j+1) - data(i, j)) * 2^3;
temp = temp + s(data(i+1, j-1) - data(i, j)) * 2^2;
temp = temp + s(data(i+1, j) - data(i, j)) * 2^1;
temp = temp + s(data(i+1, j+1) - data(i, j));
lbp(i, j) = temp;
end
end
function res = s(x)
if x >= 0
res = 1;
else
res = 0;
end
end
end