精品文档---下载后可任意编辑% PCA 人脸识别修订版,识别率 88%% calc xmean,sigma and its eigen decompositionallsamples=[];%所有训练图像for i=1:40for j=1:5a=imread(strcat('e:\ORL\s',num2str(i),'\',num2str(j),'
jpg'));% imshow(a);b=a(1:112*92); % b 是行矢量 1×N,其中 N=10304,提取顺序是先列后行,即从上到下,从左到右b=double(b);allsamples=[allsamples; b]; % allsamples 是一个 M * N 矩阵,allsamples 中每一行数据代表一张图片,其中 M=200endendsamplemean=mean(allsamples); % 平均图片,1 × Nfor 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));endi=1;% (训练阶段)计