分块提取lbp特征matlab,求教大神给解释一下LBP特征提取每部分程序是干什么的

这篇博客详细介绍了使用局部二值模式(LBP)进行图像处理,通过构造旋转不变的纹理特征来实现图像特征提取。作者展示了如何计算LBP直方图,并在代码中展示了如何扩展图像、生成不同窗口的像素比较和生成最终的LBP特征矩阵。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

function X1 = LBP(Resimage)

% Returns a rotation invariant LBP (uniform patterns) histogram (10 bins)

% of picture X.

% the size of picture X must be at least 3x3 pixels

w1 = (1/sqrt(2))^2;%根号1/2平方

w2 = (1-1/sqrt(2))*(1/sqrt(2));

[sy sx] = size(Resimage);

Xi = zeros(sy+2,sx+2);%xi为变量产生全0矩阵扩大图像,便于处理

Xi(2:sy+1,2:sx+1) = Resimage;%赋值为0

Xi2 = zeros(sy+2,sx+2);

Xi4= zeros(sy+2,sx+2);

Xi6 = zeros(sy+2,sx+2);

Xi8 = zeros(sy+2,sx+2);

p1 = zeros(sy+2,sx+2);

p2 = zeros(sy+2,sx+2);

p3 = zeros(sy+2,sx+2);

p4 = zeros(sy+2,sx+2);

p5 = zeros(sy+2,sx+2);

p6 = zeros(sy+2,sx+2);

p7 = zeros(sy+2,sx+2);

p8 = zeros(sy+2,sx+2);

p9 = zeros(sy+2,sx+2);

p1(3:sy+2,3:sx+2) = Resimage;

p2(3:sy+2,2:sx+1) = w2*double(Resimage);

p3(3:sy+2,1:sx) = Resimage;

p4(2:sy+1,3:sx+2) = w2*double(Resimage);

p5(2:sy+1,2:sx+1) = (1-1/sqrt(2))^2*double(Resimage);

p6(2:sy+1,1:sx) = w2*double(Resimage);

p7(1:sy,3:sx+2) = Resimage;

p8(1:sy,2:sx+1) = w2*double(Resimage);

p9(1:sy,1:sx) = Resimage;

Xi1 = w1*p1+ p2+p4 + p5 + 0.000001; %从右到下Xi1 to the right and down from X

Xi2(3:sy+2,2:sx+1) = Resimage;

Xi3 = w1*p3 + p2 + p6 + p5 + 0.000001;

Xi4(2:sy+1,1:sx) = Resimage;

Xi5 = w1*p9 + p8 + p6 + p5 + 0.000001;

Xi6(1:sy,2:sx+1) = Resimage;

Xi7 = w1*p7 + p8 + p4 + p5 + 0.000001;

Xi8(2:sy+1,3:sx+2) = Resimage;

Xi = (Xi4>=Xi)+2*(Xi5>=Xi)+4*(Xi6>=Xi)+8*(Xi7>=Xi)+16*(Xi8>=Xi)+32*(Xi1>=Xi)+64*(Xi2>=Xi)+128*(Xi3>=Xi);

X1 = Xi(3:sy,3:sx);%取3*3间隔

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值