学习LBP特征

1、LBP特征背景介绍

LBP指局部二值模式,英文全称:Local Binary Pattern,是一种用来描述图像局部特征的算子,LBP特征具有灰度不变性和旋转不变性等显著优点。

它是由T. Ojala, M.Pietik?inen, 和 D. Harwood [1][2]在1994年提出,由于LBP特征计算简单、效果较好,因此LBP特征在计算机视觉的许多领域都

得到了广泛的应用,LBP特征比较出名的应用是用在人脸识别和目标检测中,在计算机视觉开源库OpenCV中有使用LBP特征进行人脸识别的接口,也有

用LBP特征训练目标检测分类器的方法,Opencv实现了LBP特征的计算,但没有提供一个单独的计算LBP特征的接口。

2、MATLAB代码

 1 %2017-05-12   学习LBP特征
 2
 3  clc;
 4  clear;
 5
 6 %读图操作
 7 img=imread(‘船 (403).bmp‘);
 8 [m,n]=size(img);
 9 figure(1);
10 imshow(img,[]);
11 title(‘原图‘);
12 %%
13 %求原始的LBP特征
14 img_LBP=zeros(m,n);
15 for i=2:m-1
16    for j=2:n-1
17
18        code=zeros(1,8);    %行向量
19        code(1)=img(i-1,j-1)>img(i,j);
20        code(2)=img(i-1,j)>img(i,j);
21        code(3)=img(i-1,j+1)>img(i,j);
22        code(4)=img(i,j+1)>img(i,j);
23        code(5)=img(i+1,j+1)>img(i,j);
24        code(6)=img(i+1,j)>img(i,j);
25        code(7)=img(i+1,j-1)>img(i,j);
26        code(8)=img(i,j-1)>img(i,j);
27        for p=1:8
28            img_LBP(i,j)=img_LBP(i,j)+code(p)*2^(8-p);     %从左上角开始,顺时针编码
29        end
30
31    end
32 end
33
34 figure(2);
35 imshow(img_LBP,[]);
36 title(‘original LBP‘);
37 %%
38 %求旋转不变LBP
39 img_LBP_ri=zeros(m,n);
40 for i=2:m-1
41    for j=2:n-1
42
43        code=zeros(1,8);    %行向量,原始LBP特征编码
44        code(1)=img(i-1,j-1)>img(i,j);
45        code(2)=img(i-1,j)>img(i,j);
46        code(3)=img(i-1,j+1)>img(i,j);
47        code(4)=img(i,j+1)>img(i,j);
48        code(5)=img(i+1,j+1)>img(i,j);
49        code(6)=img(i+1,j)>img(i,j);
50        code(7)=img(i+1,j-1)>img(i,j);
51        code(8)=img(i,j-1)>img(i,j);
52        for p=1:8
53            img_LBP_ri(i,j)=img_LBP_ri(i,j)+code(p)*2^(8-p);     %从左上角开始,顺时针编码
54        end
55
56        %循环左移,移动k位相当于把开头的k个数放到最右边
57        for k=1:7
58            code=[code(k+1:end) code(1:k)];    %移位之后的二进制编码,右移表达式 code=[code(end-k+1:end) code(1:end-k)]
59            temp=0;
60            for p=1:8
61                temp=temp+code(p)*2^(8-p);
62            end
63            if temp<img_LBP_ri(i,j)    %取旋转之后的最小值
64                img_LBP_ri(i,j)=temp;
65            end
66        end
67
68    end
69 end
70
71 figure(3);
72 imshow(img_LBP_ri,[]);
73 title(‘rotate invariant LBP‘);

3、LBP特征图像

时间: 2024-10-04 05:39:49

学习LBP特征的相关文章

EasyPR源码剖析(6):车牌判断之LBP特征

一.LBP特征 LBP指局部二值模式,英文全称:Local Binary Pattern,是一种用来描述图像局部特征的算子,LBP特征具有灰度不变性和旋转不变性等显著优点. 原始的LBP算子定义在像素3*3的邻域内,以邻域中心像素为阈值,相邻的8个像素的灰度值与邻域中心的像素值进行比较,若周围像素大于中心像素值,则该像素点的位置被标记为1,否则为0.这样,3*3邻域内的8个点经过比较可产生8位二进制数,将这8位二进制数依次排列形成一个二进制数字,这个二进制数字就是中心像素的LBP值,LBP值共有

图像物体检测识别中的LBP特征

1        引言 之前讲了人脸识别中的Haar特征,本文则关注人脸检测中的LBP特征,说是对于人脸检测的,其实对于其他物体也能检测,只需修改训练数据集即可.所以本文的题目是物体检测识别,比如可以检测是否汽车是否有车牌号等. 在opencv实现的haar特征的人脸识别算法中,LBP特征也被支持. haar特征的博文链接:http://blog.csdn.net/stdcoutzyx/article/details/34842233. 2        LBP的历史 1996年,Ojala老大

图像特征提取三大法宝:HOG特征,LBP特征,Haar特征

(一)HOG特征 1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度方向直方图来构成特征.Hog特征结合 SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功.需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal 在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM

圆形领域LBP特征

今天师兄给了我一个博士写的LBP特征源码.上网搜索了一些资料,并结合代码,大致有了思路. 原始LBP特征是根据相邻的像素点与中间相邻点相比的大小确定置为1或0,然后对每个像素点的领域信息进行整合,变为领域个位的数的编码.然后对一个块中所有像素的编码进行直方图的统计,得到LBP特征. 圆形LBP特征就是在每一个像素点周围用圆形区域进行编码采样,其余和原始LBP特征相同. 这里有图,说的更加明白 http://blog.csdn.net/dujian996099665/article/details

图像处理之图像特征提取之(二)LBP特征

LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子:它具有旋转不变性和灰度不变性等显著的优点.它是首先由T. Ojala, M.Pietik?inen, 和D. Harwood 在1994年提出,用于纹理特征提取.而且,提取的特征是图像的局部的纹理特征: 1.LBP特征的描述 原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0.这样,

模式识别 - 处理多示例学习(MIL)特征(matlab)

处理多示例学习(MIL)特征(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多示例学习(MIL)的特征(features)包含, "示例编号+视频编号+标签+特征"的形式; 需要组成多示例学习特定包的形式, 每一个元胞是一个多示例包, 后面一位是标签, 即"特征包+标签"的形式; 代码: %author @ C.L.Wang %time @ 2014.5.27 %

目标检测的图像特征提取之(二)LBP特征

LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子:它具有旋转不变性和灰度不变性等显著的优点.它是首先由T. Ojala, M.Pietikäinen, 和D. Harwood 在1994年提出,用于纹理特征提取.而且,提取的特征是图像的局部的纹理特征: 1.LBP特征的描述 原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0.这样,

OpenCV中feature2D学习——FAST特征点检测与SIFT/SURF/BRIEF特征提取与匹配

在前面的文章<OpenCV中feature2D学习--FAST特征点检测>中讲了利用FAST算子进行特征点检测,这里尝试使用FAST算子来进行特征点检测,并结合SIFT/SURF/BRIEF算子进行特征点提取和匹配. I.结合SIFT算子进行特征点提取和匹配 由于数据类型的不同,SIFT和SURF算子只能采用FlannBasedMatcher或者BruteForceMatcher来进行匹配(参考OpenCV中feature2D学习--BFMatcher和FlannBasedMatcher).

OpenCV中feature2D学习——FAST特征点检测

在前面的文章<OpenCV中feature2D学习--SURF和SIFT算子实现特征点检测>中讲了利用SIFT和SURF算子进行特征点检测,这里尝试使用FAST算子来进行特征点检测. FAST的全名是:Features from Accelerated Segment Test,主要特点值计算速度快,比已知的其他特征点检测算法要快很多倍,可用于计算机视觉应用的实时场景.目前以其高计算效率(computational performance).高可重复性(highrepeatability)成为