資源簡介
做人臉識別常用到的基本算法,提取特征臉的較好算法,用matlab實現

代碼片段和文件信息
function?[disc_setdisc_valueMean_Image]=Eigenface_f(Train_SETEigen_NUM)
%?the?magnitude?of?eigenvalues?of?this?function?is?corrected?right?!!!!!!!!!
%?Centralized?PCA
[NNTrain_NUM]=size(Train_SET);
if?NN<=Train_NUM?%?for?small?sample?size?case
????
???Mean_Image=mean(Train_SET2);??
???Train_SET=Train_SET-Mean_Image*ones(1Train_NUM);
???R=Train_SET*Train_SET‘/(Train_NUM-1);
???
???[VS]=Find_K_Max_Eigen(REigen_NUM);
???disc_value=S;
???disc_set=V;
else?%?for?small?sample?size?case
????
???Mean_Image=mean(Train_SET2);??
???Train_SET=Train_SET-Mean_Image*ones(1Train_NUM);
??R=Train_SET‘*Train_SET/(Train_NUM-1);
??
??[VS]=Find_K_Max_Eigen(REigen_NUM);
??disc_value=S;
??disc_set=zeros(NNEigen_NUM);
??
??Train_SET=Train_SET/sqrt(Train_NUM-1);
??for?k=1:Eigen_NUM
????disc_set(:k)=(1/sqrt(disc_value(k)))*Train_SET*V(:k);
??end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function?[Eigen_VectorEigen_Value]=Find_K_Max_Eigen(MatrixEigen_NUM)
[NNNN]=size(Matrix);
[VS]=eig(Matrix);?%Note?this?is?equivalent?to;?[VS]=eig(StSL);?also?equivalent?to?[VS]=eig(SnSt);?%
S=diag(S);
[Sindex]=sort(S);
Eigen_Vector=zeros(NNEigen_NUM);
Eigen_Value=zeros(1Eigen_NUM);
p=NN;
for?t=1:Eigen_NUM
????Eigen_Vector(:t)=V(:index(p));
????Eigen_Value(t)=S(p);
????p=p-1;
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????I.A....??????1521??2006-12-19?06:13??Eigenface_f.m
-----------?---------??----------?-----??----
?????????????????1521????????????????????1
- 上一篇:matlab源碼包括遺傳算法等等
- 下一篇:中心差分法Matlab源程序
評論
共有 條評論