• 大小: 17.42MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-31
  • 语言: Matlab
  • 标签: PCA  人脸识别  

资源简介

修改下ORL人脸数据库的路径就能用,可显示特征脸、平均脸、识别率

资源截图

代码片段和文件信息


%clc;
load face_save_pca1d;
tic;

if select==1;%平均样本作为聚类中心
 k=0;
 for i=1:m:nImages
    k=k+1;
    A=x(:i);
    for j=2:m
        A=A+x(:i+j-1);
    end;
    Y1(:k)=A;
 end;
 Y1=1/m*Y1;
 for i=1:40
    Y(:i)=V‘*Y1(:i);%平均样本作为聚类中心
 end;
 
 else  
    for i=1:nImages
        Y(::i)=V‘*x(:i);%单个样本作为聚类中心
    end
end

error=0;correct=0;
%读取训练集
for ii=1:40
    for jj=m+1:10
       filename  = sprintf(‘C:\\Users\\ltt\\Desktop\\FACE ORL\\orl_faces\\s%d\\%d.pgm‘iijj);%1610%cbcl-face-database
       T =imread(filename);
       TT = double(T)/255;
       TT=TT.^exp;%0.6 is the best
       T1=TT(:);
       B =  V‘*T1; 
     if select==1%平均样本作为聚类中心
       for i=1:40
           A=B-Y(:i);
           dist=dot(A(:)A(:));
           dist_comp(i)=dist;    
           strDist(i) = cellstr(sprintf(‘%2.2f\n‘dist_comp(i)));
        end;
        [sorted sorted_index] = sort(dist_comp); % sort distances
        sorted_class=sorted_index(1);
        if sorted_index(1)==ii;
            correct=correct+1;
        else 
            error=error+1;
        end
   else %单个样本作为聚类中心
    for i=1:nImages
           %A=B-Y(:i);
           %dist=dot(A(:)A(:));
           A=Y(:i);
           dist=sum((A(:)-B(:)).^2).^0.5;
           dist_comp(i)=dist;    
           strDist(i) = cellstr(sprintf(‘%2.2f\n‘dist_comp(i)));
     end;
       [sorted sorted_index] = sort(dist_comp); % sort distances
       iii=sorted_index(1);
       sorted_class=fix(iii/m)+1;
       j_j=mod(iiim);
       if (j_j==0) sorted_class=sorted_class-1;end;
       if (sorted_class==ii) correct=correct+1;
          else error=error+1;
           %   figure          
            %  subplot(211); imshow(T); title(‘original image‘);
             % subplot(212);   
              %filename  = sprintf(‘C:\\Users\\ltt\\Desktop\\FACE ORL\\orl_faces\\s%d\\%d.pgm‘sorted_class1);
              %T2 = imread(filename); imshow(T2); title(‘error image‘);
       end; %end above if
 end   %end the total if(if select==1)
  end;  %end for (the varible is jj)

end;   %end for (the varible is i)
correct_rat=correct/((10-m)*40);
display (sprintf(‘the correct=%d  error=%d   correct_rat=%.4f‘correcterrorcorrect_rat));
%test_endtime=datestr(now13)
toc;
%display(‘*********end of program**************‘);
display(‘                                              ‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-07-04 08:53  face\
     目录           0  2013-07-04 08:53  face\1DPCA\
     文件        2475  2013-05-10 20:56  face\1DPCA\PCA1D_TEST.asv
     文件        2475  2013-05-19 15:34  face\1DPCA\PCA1D_TEST.m
     文件        1503  2013-05-19 16:18  face\1DPCA\PCA1D_TRAIN.asv
     文件        1503  2013-05-19 16:18  face\1DPCA\PCA1D_TRAIN.m
     文件         121  2013-05-10 17:22  face\1DPCA\ScaleImage.m
     文件    14512940  2013-05-19 16:19  face\1DPCA\face_save_pca1d.mat
     目录           0  2013-07-04 08:53  face\orl_faces\
     文件        1579  1995-02-23 18:13  face\orl_faces\README
     目录           0  2013-07-04 08:53  face\orl_faces\s1\
     文件       10318  1994-04-18 14:17  face\orl_faces\s1\1.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s1\10.pgm
     文件       10318  1994-04-18 14:17  face\orl_faces\s1\2.pgm
     文件       10318  1994-04-18 14:17  face\orl_faces\s1\3.pgm
     文件       10318  1994-04-18 14:17  face\orl_faces\s1\4.pgm
     文件       10318  1994-04-18 14:17  face\orl_faces\s1\5.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s1\6.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s1\7.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s1\8.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s1\9.pgm
     目录           0  2013-07-04 08:53  face\orl_faces\s10\
     文件       10318  1994-04-18 14:18  face\orl_faces\s10\1.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s10\10.pgm
     文件       10318  1994-04-18 14:18  face\orl_faces\s10\2.pgm
     文件       10318  1994-04-18 14:18  face\orl_faces\s10\3.pgm
     文件       10318  1994-04-18 14:18  face\orl_faces\s10\4.pgm
     文件       10318  1994-04-18 14:18  face\orl_faces\s10\5.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s10\6.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s10\7.pgm
     文件       10318  1994-04-18 14:07  face\orl_faces\s10\8.pgm
............此处省略419个文件信息

评论

共有 条评论