pca 人脸识别+orl人脸数据库


修改过的pca人脸识别程序+orl 人脸库,点击facrec就能看见结果,路径是相对路径,
资源截图
代码片段和文件信息
% eigface.m
function [] = eigface()
% calc xmeansigma and its eigen decomposition
allsamples=[];%所有训练图像
for i=1:40
for j=1:5
a=imread(strcat(‘.ORL人脸数据库s‘num2str(i)‘‘num2str(j)‘.bmp‘));
% imshow(a);
b=a(1:112*92); % b 是行矢量 1×N,其中N=10304,提取顺序是先列后行,即从上到下,从左到右
b=double(b);
allsamples=[allsamples; b]; % allsamples 是一个M * N 矩阵,allsamples 中每一行数据代表一张图片,其中M=200
end
end
samplemean=mean(allsamples); % 平均图片,1 × N
for i=1:200 xmean(i:)=allsamples(i:)-samplemean; % xmean 是一个M × N 矩阵,xmean每一行保存的数据是“每个图片数据-平均图片”
end;
% 获取特征值及特征向量
sigma=xmean*xmean‘; % M * M 阶矩阵
[v d]=eig(sigma);
d1=diag(d);
% 按特征值大小以降序排列
dsort = flipud(d1);
vsort = fliplr(v);
%以下选择90%的能量
dsum = sum(dsort);
dsum_extract = 0;
p = 0;
while( dsum_extract/dsum < 0.9)
p = p + 1;
dsum_extract = sum(dsort(1:p));
end
p = 199;
% (训练阶段)计算特征脸形成的坐标系
%while (i<=p && dsort(i)>0)
% base(:i) = dsort(i)^(-1/2) * xmean‘ * vsort(:i); % base 是N×p 阶矩阵,除以dsort(i)^(1/2)是对人脸图像的标准化,详见《基于PCA 的人脸识别算法研究》p31
% i = i + 1; % xmean‘ * vsort(:i)是小矩阵的特征向量向大矩阵特征向量转换的过程
%end
base = xmean‘ * vsort(:1:p) * diag(dsort(1:p).^(-1/2));
% 生成特征脸
figure 
for (k=1:p)
temp = reshape(base(:k) 11292);
subplot(1pk)
imshow(temp)
newpath = [‘. est‘ int2str(k) ‘.bmp‘];
imwrite(mat2gray(temp) newpath);
end
avg = reshape(samplemean 11292);
imwrite(mat2gray(avg) ‘. estaverage.bmp‘);
% 将模型保存
save(‘.model.mat‘ ‘base‘ ‘samplemean‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1638  2014-04-14 23:07  eigface.m
     文件        2784  2014-04-14 22:52  FaceRec.m
     目录           0  2014-04-14 23:09  ORL人脸数据库
     目录           0  2014-04-11 12:42  ORL人脸数据库s1
     目录           0  2014-04-11 12:42  ORL人脸数据库s10
     文件       11384  2010-03-25 19:23  ORL人脸数据库s101.bmp
     文件       10318  1994-04-18 14:18  ORL人脸数据库s101.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s1010.bmp
     文件       10318  1994-04-18 14:07  ORL人脸数据库s1010.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s102.bmp
     文件       10318  1994-04-18 14:18  ORL人脸数据库s102.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s103.bmp
     文件       10318  1994-04-18 14:18  ORL人脸数据库s103.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s104.bmp
     文件       10318  1994-04-18 14:18  ORL人脸数据库s104.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s105.bmp
     文件       10318  1994-04-18 14:18  ORL人脸数据库s105.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s106.bmp
     文件       10318  1994-04-18 14:07  ORL人脸数据库s106.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s107.bmp
     文件       10318  1994-04-18 14:07  ORL人脸数据库s107.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s108.bmp
     文件       10318  1994-04-18 14:07  ORL人脸数据库s108.pgm
     文件       11384  2010-03-25 19:23  ORL人脸数据库s109.bmp
     文件       10318  1994-04-18 14:07  ORL人脸数据库s109.pgm
     目录           0  2014-04-11 12:42  ORL人脸数据库s11
     文件       11384  2010-03-25 19:25  ORL人脸数据库s111.bmp
     文件       10318  1994-04-18 14:18  ORL人脸数据库s111.pgm
     文件       11384  2010-03-25 19:25  ORL人脸数据库s1110.bmp
     文件       10318  1994-04-18 14:07  ORL人脸数据库s1110.pgm
     文件       11384  2010-03-25 19:25  ORL人脸数据库s112.bmp
............此处省略1004个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)