MB-LBP特征-matlab
将图像分成一个个小块(Block),每个小块再分为一个个的小区域(类似于HOG中的cell),小区域内的灰度平均值作为当前小区域的灰度值,与周围小区域灰度进行比较形成LBP特征,生成的特征称为MB-LBP,Block大小为3*3,则小区域的大小为1,就是原始的LBP特征
matlab源码
function imglbp = getMultiScaleBlockLBPFeature(img, scale)
imgSize = size(img);
if numel(imgSize) > 2
imgG = rgb2gray(img);
else
imgG = img;
end
[rows, cols] = size(imgG);
rows=int16(rows);
cols=int16(cols);
cellSize = floor(scale / 3);
offset = floor(cellSize / 2);
im = uint8(zeros(rows-2*offset, cols-2*offset));
for i=offset:(rows-offset-1)
for j=offset:(cols-offset-1)
temp = 0;
for m=-offset:offset
for n=-offset:offset
temp = temp + int16(imgG(i+n+1,j+m+1));
end
end
temp = floor(temp / (cellSize * cellSize));
temp = uint8(temp);
im(i - offset + 1, j - offset + 1) = temp;
end
end
%imshow(im)
imglbp = getOriginLBPFeature(im);
end
效果图
原图
scale = 9

浙公网安备 33010602011771号