⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projattfaces.m

📁 It is for Face Recognition
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function projAttFaces()
%   z.li, 03-10-2004
%   proj att face for recog work
% function dependency:
%   - loadATTFace()
%   - cropFace()
% input:
%   side - side margin
%   top, low - top and bottom margin
%   fw, fh - face icon size
%   T, mf - model info
% output:
%   prj   - d x nFace*nPose  feature vec
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%function [prj]=projAttFaces(side, top, low, fw, fh, T, mf)
function [prj]=projAttFaces(side, top, low, fw, fh, T, mf)
 dbg='n';
 if dbg == 'y'
    side = 0.5; top= 1.0; low = 1.0; fw=20; fh=20;     
    T = load('pcaFeretFaceSide05Top10Low10W20H20LumaMin60Max150.dat');
    mf = load('meanFeretFaceSide05Top10Low10W20H20LumaMin60Max150.dat');
 end

 % const
 dbgPlot = 'n'; 
 % plot with dimensions 
 pd1 = 1; pd2 = 2;
 nFace = 40; nPose = 10;
 eyes = load('attEyesAnnotation.dat');

 for j=1:nFace
   offs = (j-1)*nPose;
   fprintf('\n');
   for k=1:nPose
      img = loadATTFace(j, k);
      lex = eyes(offs+k, 1); ley = eyes(offs+k, 2);
      rex = eyes(offs+k, 3); rey = eyes(offs+k, 4);
      vec = cropFace(img, lex, ley, rex, rey, side, top, low, fw, fh);
      if vec == -1
         fprintf('x');
         prj(:,offs+k) = NaN;
      else
         fprintf('.');
         % projection
         prj(:,offs+k) =  T*(vec-mf)'; 
      end
   end
 end

 % dbg plot
 if dbgPlot == 'y'
     figure; hold on;
     for k=1:nFace*nPose
        plot(prj(pd1,k), prj(pd2, k), '.g');
     end
     id = 1;
     while id ~= 0
        id = input('highlight id= ');
        styl = input('highlight styl= ');
        offs = (id-1)*nPose;
        for k=1:nPose
            plot(prj(pd1,offs+k), prj(pd2, offs+k), styl);
        end
     end     
 end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -