资源简介
matlab程序,包含了基本LBP,旋转不变LBP,均匀LBP ,旋转不变均匀LBP,CLBP等的LBP算子提取和分类,基于AR的人脸库,还有附加的一个说明文档以及自己测试的一些结果分析。
代码片段和文件信息
function [CLBP_SCLBP_MCLBP_C] = clbp(varargin)
error(nargchk(15nargin));
image=varargin{1};
d_image=double(image);
if nargin==1
spoints=[-1 -1; -1 0; -1 1; 0 -1; -0 1; 1 -1; 1 0; 1 1];
neighbors=8;
mapping=0;
mode=‘h‘;
end
if (nargin == 2) && (length(varargin{2}) == 1)
error(‘Input arguments‘);
end
if (nargin > 2) && (length(varargin{2}) == 1)
radius=varargin{2};
neighbors=varargin{3};
spoints=zeros(neighbors2);
% Angle step.
a = 2*pi/neighbors;
for i = 1:neighbors
spoints(i1) = -radius*sin((i-1)*a);
spoints(i2) = radius*cos((i-1)*a);
end
if(nargin >= 4)
mapping=varargin{4};
if(isstruct(mapping) && mapping.samples ~= neighbors)
error(‘Incompatible mapping‘);
end
else
mapping=0;
end
if(nargin >= 5)
mode=varargin{5};
else
mode=‘h‘;
end
end
if (nargin > 1) && (length(varargin{2}) > 1)
spoints=varargin{2};
neighbors=size(spoints1);
if(nargin >= 3)
mapping=varargin{3};
if(isstruct(mapping) && mapping.samples ~= neighbors)
error(‘Incompatible mapping‘);
end
else
mapping=0;
end
if(nargin >= 4)
mode=varargin{4};
else
mode=‘h‘;
end
end
[ysize xsize] = size(image);
miny=min(spoints(:1));
maxy=max(spoints(:1));
minx=min(spoints(:2));
maxx=max(spoints(:2));
bsizey=ceil(max(maxy0))-floor(min(miny0))+1;
bsizex=ceil(max(maxx0))-floor(min(minx0))+1;
origy=1-floor(min(miny0));
origx=1-floor(min(minx0));
if(xsize < bsizex || ysize < bsizey)
error(‘Too small input image. Should be at least (2*radius+1) x (2*radius+1)‘);
end
;
dx = xsize - bsizex;
dy = ysize - bsizey;
C = image(origy:origy+dyorigx:origx+dx);
d_C = double(C);
bins = 2^neighbors;
CLBP_S=zeros(dy+1dx+1);
CLBP_M=zeros(dy+1dx+1);
CLBP_C=zeros(dy+1dx+1);
for i = 1:neighbors
y = spoints(i1)+origy;
x = spoints(i2)+origx;
fy = floor(y); cy = ceil(y); ry = round(y);
fx = floor(x); cx = ceil(x); rx = round(x);
if (abs(x - rx) < 1e-6) && (abs(y - ry) < 1e-6)
N = image(ry:ry+dyrx:rx+dx);
D{i} = N >= C;
Diff{i} = abs(N-C);
MeanDiff(i) = mean(mean(Diff{i}));
else
ty = y - fy;
tx = x - fx;
w1 = (1 - tx) * (1 - ty);
w2 = tx * (1 - ty);
w3 = (1 - tx) * ty ;
w4 = tx * ty ;
N = w1*d_image(fy:fy+dyfx:fx+dx) + w2*d_image(fy:fy+dycx:cx+dx) + ...
w3*d_image(cy:cy+dyfx:fx+dx) + w4*d_image(cy:cy+dycx:cx+dx);
D{i} = N >= d_C;
Diff{i} = abs(N-d_C);
MeanDiff(i) = mean(mean(Diff{i}));
end
end
DiffThreshold = mean(MeanDiff);
for i=1:neighbors
v = 2^(i-1);
CLBP_S = CLBP_S + v*D{i};
CLBP_M = CLBP_M + v*(Diff{i}>=DiffThreshold);
end
CLBP_C = d_C>=mean(d_image(:
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6075359 2011-10-01 15:40 程序\ar_1.mat
文件 6075322 2013-04-09 22:10 程序\ar_2.mat
文件 519 2011-10-01 15:40 程序\AR_label.mat
文件 3578 2013-04-13 12:04 程序\clbp.m
文件 3311 2013-04-13 09:13 程序\clbp_m.m
文件 3311 2013-04-13 10:33 程序\clbp_s.m
文件 3684 2013-04-13 09:13 程序\clbp_s_m.m
文件 539 2013-04-12 09:53 程序\gaosi.m
文件 1754 2013-04-13 12:01 程序\getmapping.m
文件 3215 2013-04-13 12:02 程序\lbp.m
文件 3014 2013-04-13 12:46 程序\lbp_1.m
文件 382 2013-04-12 10:27 程序\reshape_1.m
文件 304 2013-04-12 13:49 程序\reshape_2.m
文件 12822 2013-04-13 12:52 result.docx
目录 0 2013-04-13 12:54 程序
----------- --------- ---------- ----- ----
12187114 15
相关资源
- 基于神经网络的人脸识别/检测MATLAB模
- 用于人脸识别的NMF分解程序(用MATL
- PCA人脸识别代码MATLAB可直接运行
- ICA 独立成分分析法写得人脸识别程序
- MATLAB多人人脸识别系统.zip
- 人脸识别经典算法PCA和2DPCA 的matlab版
- 基于SVM的人脸识别代码_matlab
- 稀疏表示的人脸识别完整MATLAB可运行
- pca人脸识别算法
- 基于稀疏表示的人脸识别Matlab程序
- 基于PCA主成分分析的人脸识别
- oldpac.rar
- 基于ORL库和PCA方法的人脸识别系统m
- 基于神经网络的人脸识别_检测MATLAB模
- 人脸识别 MATLAB代码
- BP神经网络的人脸识别matlab代码
- PCA人脸降维与单幅图像识别
- 基于MATLAB 的人脸识别
- 基于PCA与KPCA的SVM人脸识别程序含数据
- 基于PCA与SVM的人脸识别matlab代码
- 基于CNN的人脸识别matlab版本.rar
- LDA人脸识别matlab code
- matlab手写卷积神经网络人脸识别
- PCA最近邻分类方法人脸识别
- PCA人脸识别matlab代码
-
人脸数据集 Extended Yale B Databa
seEYa - 基于MATLAB的人脸识别源码
- 人脸识别原理与实战:以MATLAB为工具
- LDA人脸识别MATLAB含k近邻算法
- MATLAB人脸识别PCA实现
评论
共有 条评论