资源简介
绝对可以运行的程序,请大家放心下载!MATLAB实现的,

代码片段和文件信息
%**********************************************
% 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 = 6; %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 =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12893 2010-07-09 09:22 PCA pro\PCA pro\FaceDB_yaleA\001\01.jpg
文件 15000 2010-07-09 09:22 PCA pro\PCA pro\FaceDB_yaleA\001\02.jpg
文件 14615 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\03.jpg
文件 12437 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\04.jpg
文件 14265 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\05.jpg
文件 14152 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\06.jpg
文件 11535 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\07.jpg
文件 14331 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\08.jpg
文件 13967 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\09.jpg
文件 14600 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\10.jpg
文件 14473 2010-07-09 09:23 PCA pro\PCA pro\FaceDB_yaleA\001\11.jpg
..A..H. 40960 2011-03-22 09:24 PCA pro\PCA pro\FaceDB_yaleA\001\Thumbs.db
文件 13179 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\01.jpg
文件 14023 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\02.jpg
文件 13341 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\03.jpg
文件 12454 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\04.jpg
文件 13305 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\05.jpg
文件 13305 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\06.jpg
文件 11913 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\07.jpg
文件 13203 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\08.jpg
文件 13207 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\09.jpg
文件 13432 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\10.jpg
文件 13136 2010-07-09 09:24 PCA pro\PCA pro\FaceDB_yaleA\002\11.jpg
..A..H. 37888 2010-11-04 13:38 PCA pro\PCA pro\FaceDB_yaleA\002\Thumbs.db
文件 11445 2010-07-09 09:27 PCA pro\PCA pro\FaceDB_yaleA\003\01.jpg
文件 12602 2010-07-09 09:27 PCA pro\PCA pro\FaceDB_yaleA\003\02.jpg
文件 12642 2010-07-09 09:28 PCA pro\PCA pro\FaceDB_yaleA\003\03.jpg
文件 10889 2010-07-09 09:28 PCA pro\PCA pro\FaceDB_yaleA\003\04.jpg
文件 12564 2010-07-09 09:28 PCA pro\PCA pro\FaceDB_yaleA\003\05.jpg
文件 12903 2010-07-09 09:29 PCA pro\PCA pro\FaceDB_yaleA\003\06.jpg
............此处省略161个文件信息
相关资源
- 高灵敏度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
- k近邻算法matlab实现
- matlab识别系统
评论
共有 条评论