📄 fisherself.m
字号:
p1=0.4;p2=0.6;
allsamples1=[];%所有训练图像
for j=1:5
a=imread(strcat('e:\att_faces\orl_faces\s1','\',num2str(j),'.pgm'));
b=a(1:112*92);
b=double(b);
allsamples1=[allsamples1; b];
end
mean1=mean(allsamples1,2);
allsamples2=[];
for j=1:5
a=imread(strcat('e:\att_faces\orl_faces\s2','\',num2str(j),'.pgm'));
% imshow(a);
b=a(1:112*92);
b=double(b);
allsamples2=[allsamples2; b];
end
mean2=mean(allsamples2,2);
s1=zeros(size(allsamples1,1));
N1=112*92;
for k=1:N1
s1=s1+(allsamples1(:,k)-mean1)*(allsamples1(:,k)-mean1)';
end
s2=zeros(size(allsamples2,1));
N2=112*92;
for j=1:N2
s2=s2+(allsamples2(:,j)-mean2)*(allsamples2(:,j)-mean2)';
end
sw=p1*s1+p2*s2;
w=(sw)^(-1)*(mean1-mean2);
mf1=w'*mean1;
mf2=w'*mean2;
w0=(mf1+mf2)/2-log(p1/p2)/(N1+N2-2);
samples=[];
for j=6:10
a=imread(strcat('e:\att_faces\orl_faces\s1','\',num2str(j),'.pgm'));
b=a(1:10304);
b=double(b);
samples=[samples; b];
end
% point=find_projection(w,samples);
for ii=1:size(samples,2)
if w'*samples(:,ii)>w0
for i=1:5
str=strcat('e:\att_faces\orl_faces\s1','\',num2str(i),'.pgm'); %第一类
eval('imshow(str);');
end
else
for i=1:5
str=strcat('e:\att_faces\orl_faces\s1','\',num2str(i),'.pgm'); %第二类
eval('imshow(str);');
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -