dglobal samplespath;%图片位置
global Y;
global x;
global train_num;
global row;
global column;
global accuracies;
row=112;%行
column=92;%列
train_num=200;
accuracies=zeros(1,column);
Gt=zeros(column);
samplespath='E:\ORL\s';
for i=1:40
suma=zeros(row,column);
for j=1:5
a=imread(strcat(samplespath,num2str(i),'\',num2str(j),'.pgm'));%strcat()是连接字符串的函数
a=double(a);
suma=suma+a;
end
avrageA=suma/5;
for j=1:5
a=imread(strcat(samplespath,num2str(i),'\',num2str(j),'.pgm'));
a=double(a);
Gt=Gt+(a-avrageA)'*(a-avrageA);
end
end
Gt=Gt/train_num;
[v, d]=eig(Gt);%求特征值和特征向量,其中特征值在d的对角线上,d为协方差矩阵
cols=size(v,2);%矩阵列数
dd=zeros(1,column);%存放特征值
for i=1:column
dd(i)=d(i,i);%用一个向量存放特征值
end
[d2,index]=sort(dd,'descend');
dsort=zeros(column);
dsort1=zeros(column);
for i=1:cols
dsort(:,i)=v(:,index(i));%根据特征值降序插入到dsort中去
end
dsum=sum(dd);%协方差矩阵的迹
dsum_extract=0;
for dim=1:column
x=dsort(:,1:dim);%x向量矩阵
Y=cell(1,40);%存放40组图片前五张的样本平均值
for i=1:40
tempA=zeros(row,column);
for j=1:5
a=imread(strcat(samplespath,num2str(i),'\',num2str(j),'.pgm'));
a=double(a);
tempA=tempA+a;
end
tempA=tempA/5;
Y(i)=mat2cell(tempA*x,112,dim);
end
%测试,最近邻分类器
accu=0;
for i=1:40
for j=6:10%测试样本
a=imread(strcat(samplespath,num2str(i),'\',num2str(j),'.pgm'));
a=double(a);
tempY=a*x;%当前图片的特征向量矩阵
tempindex=1;%存放当前图片
tempsum=10000000;%存放测试图片与测试样本的最小值
for k=1:40
sumlast=0.0;
YY=cell2mat(Y(k));
for l=1:dim
sumlast=sumlast+norm(tempY(:,l)-YY(:,l));
% sumlast=norm(tempY-YY);
end
if(tempsum>sumlast)
tempsum=sumlast;
tempindex=k;%分类
end
end
%判断分类是否正确
if tempindex==i
accu=accu+1;
end
end
end
accuracy=accu/200;
accuracies(dim)=accuracy;
end
%绘图
dimensions=zeros(1,column);
for di=1:column
dimensions(di)=di;
end
plot(dimensions,accuracies);
周玉坤举重
- 粉丝: 72
- 资源: 4779
最新资源
- springboot项目餐厅点餐系统.zip
- 人工智能资料地址集合.zip
- springboot项目毕业生信息招聘平台.zip
- springboot网上宠物用品商城系统(源码+sql+论文报告).zip
- springboot网上酒类商城系统(源码+论文报告).zip
- SpringBoot网上水果蔬菜商城系统(源码+sql).zip
- 鲸鱼优化算法WOA优化卷积神经网络CNN的学习率和隐含层神经元个数做时间序列的拟合预测建模,数据要求为单列的时间序列数据 程序内注释详细直接替数据就可以使用 程序语言为matlab 程序直接运行
- python基于tensorflow的人脸识别系统设计与实现源码+数据集+模型(高分毕设)
- springboot汽车配件管理系统(源码+sql+论文报告).zip
- springboot通用版商城项目(源码+sql).zip
- springboot生活分享共享平台(源码+论文).zip
- PHPMVC学习之ThinkPHP(下)视频教程最新版本
- springboot民宿管理平台.zip
- springboot美食菜谱分享平台优化版(源码+sql+论文报告).zip
- springboot美食生活分享平台(源码+论文报告).zip
- SpringBoot美容院预约管理系统(源码+sql).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论2