将图像分成一个个小块(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));

该博客介绍了MB-LBP特征的提取方法,通过将图像划分为3*3的块,并计算每个小块内灰度值的平均,与邻域进行比较形成LBP特征。提供了MATLAB源码及效果图,展示了一个简单的LBP特征提取过程。
最低0.47元/天 解锁文章
4670

被折叠的 条评论
为什么被折叠?



