Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-09-04, 20:25   #1
emmagirl
初级会员
 
注册日期: 2008-09-04
年龄: 43
帖子: 1
声望力: 0
emmagirl 正向着好的方向发展
默认 [求助]对一个人脸的灰度图提取LBP特征

如题,请各位高手指点,最好给出源码,谢谢
emmagirl 当前离线   回复时引用此帖
旧 2008-12-23, 21:44   #2
icenows
初级会员
 
注册日期: 2008-10-05
年龄: 38
帖子: 1
声望力: 0
icenows 正向着好的方向发展
默认 回复: [求助]对一个人脸的灰度图提取LBP特征

UP
我也在找LBP方面的东西,好像东西很少的啊。
icenows 当前离线   回复时引用此帖
旧 2009-04-16, 15:49   #3
一任群芳妒
初级会员
 
注册日期: 2009-04-16
帖子: 1
声望力: 0
一任群芳妒 正向着好的方向发展
默认 回复: [求助]对一个人脸的灰度图提取LBP特征

下面是提取图像的LBP特征图的函数,俺自己写的,可以参考一下
使用了最基本的提取方法,就是设置一个3x3的窗口,在依次遍历每个像素的时候,把窗口里大于中心值的元素置1,否则置0,再组成二进制串,然后转换成十进制作为这个像素点的lbp值。
代码:
function IMO = gen_lbp(IM)

% 将彩色图像转换为黑白图像
[m,n,p] = size(IM);
if p == 3
    IM = rgb2gray(IM);
end

% 扩大图像,以便处理
IMT = zeros(m+2,n+2);
IMT(2:m+1,2:n+1) = IM;

% 遍历每个像素点
wnd = zeros(3); % 3x3 的窗口矩阵
IMO = zeros(m,n);
for iii = 2:m+1
    for jjj = 2:n+1
        wnd = IMT(iii-1:iii+1,jjj-1:jjj+1);
        % 二值化
        for mmm = 1:3
            for nnn = 1:3
                if wnd(mmm,nnn) > wnd(2,2)
                    wnd(mmm,nnn) = 1;
                else
                    wnd(mmm,nnn) = 0;
                end
            end
        end
        % 求出lbp值
        lbp = wnd(1,1) + wnd(2,1)*2 + wnd(3,1)*4 + wnd(3,2)*8 + wnd(3,3)*16 + wnd(2,3)*32 + wnd(1,3)*64 + wnd(1,2)*128;
        IMO(iii-1,jjj-1) = lbp;
    end
end
用法很简单,首先读取一副图像,譬如图像的名字叫test.bmp
IM = imread('test.bmp');
然后执行函数
IMO = gen_lbp(IM);
最后可以这样查看结果
imshow(mat2gray(IMO));

若是还有不明白的,可再问我。

此帖于 2009-04-16 15:51 被 一任群芳妒 编辑。
一任群芳妒 当前离线   回复时引用此帖
旧 2012-11-20, 18:02   #4
水冰幻影
初级会员
 
注册日期: 2012-11-20
年龄: 36
帖子: 2
声望力: 0
水冰幻影 正向着好的方向发展
默认 回复: [求助]对一个人脸的灰度图提取LBP特征

hi 可以认识你吗?我关于lbp还有很多不是很明白,可以问你几个问题吗?我qq:422622458
水冰幻影 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 12:47


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.