资源简介
直接下载,在matlab运行即可。里面的result是我当时写的结果,如果不需要可以删除。

代码片段和文件信息
%**********************************************
% Aim : The first AI program homework
% title : PCA for face recognition
% Author : GongWanlu & Hufei
% Version : 1.0 final
% Submit Time : 2011-04-07
%**********************************************
% %%%%%%%%%%%%%%%%%%%%%%INITIAL
clear all
clc
close all
% %%%%%%%%%%%%%%%%%%%%%%Some variables according to the Yale Face DB
Num_subject = 15;
Num_image = 11;
Train_num_image = 8; %for every subject we choose 8 to train
Test_num_image = 9; %choose the left 3 images to test
% %%%%%%%%%%%%%%%%%%%%%%Load Data
Data = [];
for i=1:Num_subject
for j=1:Train_num_image
path = sprintf(‘FaceDB_yaleA/%03d/%02d.jpg‘ij);
pic = imread (path); %read one picture
%Make Data Add pic into Data
pic_line = pic(1:147*137); %The pic size is 147*137
%pic_line is 1*N N=147*137. from up to
%downleft to right.
%Reshape 2D image to 1D image
%vectors
Data = [Data;double(pic_line)]; %add pic_line into Data
end
end
% End of Load Data
%%%%%%%%%%%%%%%%%%%%%%%Substract mean from Data and make covariance from centering Data
samplemean = mean(Data); %mean pic 1*N
for k = 1:(Num_subject * Train_num_image)
xmean(k:)=Data(k:)-samplemean; %Normalize
end %xmean is M*N each line is one pic
%data(mean data) be normalized
sigma = xmean *xmean‘; %M*M here is 120*120
[V D]=eig(sigma); %calculate the eigenvalue&eigenvector
%eigenvalue in Dand vectors in V
D1=diag(D); %the eigenvalues
%%%%%%%%%%%%%%%%%%%%%%%% Sorting and eliminating eigenvalues
% At first : sort desc
Dsort=flipud(D1);
Vsort=fliplr(V);
%choose part eigenvalues
Dsum = sum(Dsort); %sum of the eigenvalueswe only choose 80%
%we have different ways to choose
%eigenvalues we need90%or>1……
temp_sum = 0;
p = 0;
while(temp_sum/Dsum<0.8)
p = p+1;
temp_sum = sum(Dsort(1:p));
end
%End of sort part
%%%%%%%%%%%%%%%%%%%%%%%Train Step: get the coordinate system
i=1;
while(i<=p && Dsort(i)>0)
face_base(:i) = Dsort(i)^(-1/2) * xmean‘ * Vsort (:i);
i=i+1;
end
% Dsort(i)^(-1/2) used to normalize make variance=1
% face_base is N*p
% xmean‘ * Vsort (:i); is change small matrix to big matrix. CHACHENG(Chinese)
%next sentence is vary important is our train result
allcoor = Data * face_base;
%End of training
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Draw part
%draw CDF
x = Dsort (1:p);
x = flipud (x);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4982 2011-04-08 00:32 PCA pro\PCA.m
文件 12548 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\01.jpg
文件 14561 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\02.jpg
文件 14677 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\03.jpg
文件 12028 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\04.jpg
文件 14675 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\05.jpg
文件 14715 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\06.jpg
文件 11577 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\07.jpg
文件 14297 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\08.jpg
文件 14208 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\09.jpg
文件 14434 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\10.jpg
文件 14699 2010-07-09 09:46 PCA pro\FaceDB_yaleA\015\11.jpg
文件 12769 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\01.jpg
文件 13018 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\02.jpg
文件 12323 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\03.jpg
文件 12434 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\04.jpg
文件 12542 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\05.jpg
文件 12542 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\06.jpg
文件 11967 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\07.jpg
文件 12467 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\08.jpg
文件 12568 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\09.jpg
文件 12610 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\10.jpg
文件 12585 2010-07-09 09:43 PCA pro\FaceDB_yaleA\014\11.jpg
文件 12124 2010-07-09 09:42 PCA pro\FaceDB_yaleA\013\01.jpg
文件 13003 2010-07-09 09:42 PCA pro\FaceDB_yaleA\013\02.jpg
文件 13199 2010-07-09 09:42 PCA pro\FaceDB_yaleA\013\03.jpg
文件 11922 2010-07-09 09:42 PCA pro\FaceDB_yaleA\013\04.jpg
文件 12076 2010-07-09 09:42 PCA pro\FaceDB_yaleA\013\05.jpg
文件 12831 2010-07-09 09:42 PCA pro\FaceDB_yaleA\013\06.jpg
文件 11613 2010-07-09 09:42 PCA pro\FaceDB_yaleA\013\07.jpg
............此处省略160个文件信息
- 上一篇:ACCESS 做的销售管理
- 下一篇:薛定宇教授 ctrllab工具箱3.0
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论