clear;
picname=dir('D:\Program Files\work\orl'); %put 400 images into picname(402*1 structure)
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
% zhucenum = input('please input the Registered number in 10:');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
zhucenum=2;
M=3
N=3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% k=10;t=1;
% for i=1:40*zhucenum
% for j=1:zhucenum
% zhucename(t)=picname(j+k*(i-1)+2).name; %%put 40 images of 10 different people in zhucename(1*40 structure)
% t=t+1;
% end
% end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
piccell=struct2cell(picname); %make it convenient to stract picture's name(cell)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
zhucename=cell(1,40*zhucenum);
ceshiname=cell(1,400-40*zhucenum);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=10,t=1;
for i=1:40
for j=1:zhucenum
j+k*(i-1)+2
zhucename{1,t}=piccell{1,j+k*(i-1)+2};
t=t+1;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=10,t=1;
for i=1:40
for j=1+zhucenum+(i-1)*10:i*10
j
ceshiname{1,t}=piccell{1,j+2};
t=t+1;
end
end
%
% k=10;t=1;
% for i=1:41
% for j=1:2
% zhucename(t)=picname(j+k*(i-1)+2);
% t=t+1;
% end
% end
%%%%%%%%%%%%%%register one detective nine
% k=10;
% for i=1:40
% zhucename(i)=picname(1+k*(i-1)+2); %%put 40 images of 10 different people in zhucename(1*40 structure)
% end
%%%%%%%%%%%%%
path='D:\Program Files\work\orl\';
pic=cell(1,400);
for i=1:400
picpath=strcat(path,picname(i+2).name);
pic{1,i}=imread(picpath); % read into an image
pic{1,i}=rgb2gray(pic{1,i}); %reduce the dimension
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% prompt = {'Enter the number of lines:','Enter the number of columes:'};
% dlg_title = 'Input the size of the window';
% num_lines = 1;
% answer = inputdlg(prompt,dlg_title,num_lines);
% save test.mat answer;%%test是随便起的,只是用来说明clear allload test.matanswer(1)
% M=str2num(cell2mat(answer(1)));
% N=str2num(cell2mat(answer(2)));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pich=cell(1,400);
for i=1:400
pich{i}=lbp2h(pic{i},M,N);%% change pic{1,i}into k1*k2 segments
end
% save 400pich pich
% save zhucenum
%%%%%%%%%%%%%%%%%%%image discrimination%%%%%%%%
% load('D:\Program Files\work\lbp\400pich.mat');
correct=0; %calculating right number
% zhuce=cell(1,40*zhucenum);
zhuceh=cell(1,40*zhucenum);
ceshih=cell(1,400-40*zhucenum);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=10;t=1;
for i=1:40
for j=1:zhucenum
zhuceh{t}=pich{1,j+k*(i-1)};%%define zhuce's histogram
t=t+1;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=10,t=1;
for i=1:40
for j=(1+zhucenum+(i-1)*10):i*10
j
ceshih{t}=pich{j};
t=t+1;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:400-40*zhucenum
i
% if (mod(i,10)>zhucenum)
for j=1:40*zhucenum
he(j)=sum(min(ceshih{1,i},zhuceh{1,j})); %output the simvalue of two matrix
end
[matrix,num]=max(he); %%%%%find the index of the biggest value in sim[]%%%
a=zhucename{num}(5:7);
b=ceshiname{i}(5:7);
if strcmp(a,b)
correct=correct+1
end
end
correctrate=correct/(400-40*zhucenum)
没有合适的资源?快使用搜索试试~ 我知道了~
orl人脸数据库在IBP特征提取下的识别matlab代码
共5个文件
m:4个
jpg:1个
4星 · 超过85%的资源 需积分: 15 81 下载量 177 浏览量
2013-07-06
14:47:14
上传
评论 2
收藏 548KB RAR 举报
温馨提示
orl人脸数据库中的400幅图进行识别测试,可通过手动输入注册的张数和IBP分块的个数,另附一张统计结果图
资源推荐
资源详情
资源评论
收起资源包目录
orl-LBP.rar (5个子文件)
zhifang58.m 204B
fenkuai.m 366B
lbp2h.m 3KB
main.m 3KB
1373093186133.jpg 545KB
共 5 条
- 1
资源评论
- 蝶舞梦龙2013-11-22是在orl人脸数据库中实验的。
- 天天行健2014-09-08识别率不是很高,哎
- sidon1234567892014-04-02挺不错啊,最近刚好要用。
julie0julie
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功