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

📄 rec.asv

📁 各种SVM分类算法
💻 ASV
字号:
clear all
load allcoor;
load base;
warning off
accu = 0;
m=1;
%Class=[0,0,0,0];
% 测试过程
for i=1:1:20
    for j=4:1:10 %读入测试图像
        %filename  = sprintf('D:\\MATLAB702\\work\\K-L\\yalefaces\\%d\\s%d.bmp',i,j);
        filename  = sprintf('D:\\MATLAB702\\work\\orl_faces\\s%d\\%d.pgm',i,j);
      a=imread(filename); 
      b=double(a);
      
      %figure(m);
      
      sprintf('正在识别... %d',m)
      m=m+1;
      %subplot(1,2,1); imshow(a);
      %title('待识别图片');
        %小波
        [c,l]=wavedec2(b,2,'db2');
        cB1=appcoef2(c,l,'db4',1);
        cb1=wcodemat(cB1,440,'mat',0);
        b=cb1;
        %
        
        b=b(1:size(b,1)*size(b,2));        
        tcoor= b * base; %计算坐标,是1×p阶矩阵
       
  %%%%%%%%%%%%%%%%%%%   SVM   %%%%%%%%%%%%%%%%%%%%%%%%%% 
  Y=[-ones(1,3) ones(1,3)]';
  for I=1:19
      J=I;      
      MSV(1:3,:)=allcoor(1+3*(I-1):1+3*(I-1)+2,:);
    while(20-J~=0)
      MSV(4:6,:)=allcoor(1+3*J:1+3*J+2,:);
      J=J+1;
      [nsv,alpha,bias,T]=svm168(MSV,Y,'linear',5);
      W=MSV'*alpha;   
      Output=tcoor*W+bias;      
      if(sign(Output)==-1)
          Class(I)=Class(I)+1;
      else
          Class(J)=Class(J)+1;
      end
    end
  end
  [CC,Index]=max(Class);
  %Class
  %Index
  %filename  = sprintf('D:\\MATLAB702\\work\\orl_faces\\s%d\\1.pgm',Index);
  %a=imread(filename);         
  %subplot(1,2,2); imshow(a); title('识别结果');
  if Index==i
      accu=accu+1;
  end
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    end
end
 accu
 accu/140 
       

⌨️ 快捷键说明

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