首先编写LBP函数,代码如下:
function dstImage = LBP(srcImage)
if ndims(srcImage) == 3
srcImage = rgb2gray(srcImage);
end
I = im2double(srcImage);
[m, n] = size(I);
J = zeros(m, n);
for i = 2 : m-1
for j = 2 : n-1
J(i,j) = ( I(i-1,j-1) > I(i,j) ) * 2^7 + ...
( I(i-1,j) > I(i,j) ) * 2^6 + ...
( I(i-1,j+1) > I(i,j) ) * 2^5 + ...
( I(i,j+1) > I(i,j) ) * 2^4 + ...
( I(i+1,j+1) > I(i,j) ) * 2^3 + ...
( I(i+1,j) > I(i,j) ) * 2^2 + ...
( I(i+1,j-1) > I(i,j) ) * 2^1 + ...
( I(i,j-1) > I(i,j) ) * 2^0;