91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2022-11-21
  • 語言: Matlab
  • 標簽: PCA??人臉識別??

資源簡介

使用PCA主成分分析方法提取特征臉,然后在特征臉空間使用最近鄰分類器進行分類

資源截圖

代碼片段和文件信息

clear?;

tic;
%%??打開訓練圖像集?
Files?=?dir(‘face33\train\*.bmp‘);??????%打開文件夾中所有圖像
Dir?=?‘face33\train\‘;
nImg=length(Files);
for?k?=?1:length(Files);
????Filename?=?[Dir??Files(k).name];
????Img??=?imread(Filename);
????x(:k)?=?Img(:);???????????%?把圖像放在矩陣x的第k列
????%%?將二維Img轉換成一維列向量時,按列抽?。杭词前训趇+1列置于第i列后
end;
nImages?=?k;????????????????????%?圖像個數
imsize?=?size(Img);????????????%?圖像維度
nPixels?=?imsize(1)*imsize(2);???%?圖像總像素數
x?=?double(x)/255;????????????????????%?將x轉換為double型

%%?計算每幅訓練圖像的與平均臉的差值?
avrgx?=?mean(x‘)‘;???????????%計算均值圖像
for?i=1:1:nImages
????x(:i)?=?x(:i)?-?avrgx;???????%?x每一列減去平均臉
end;

%%?奇異值分解方法計算協方差矩陣的特征值和特征向量
%{
?Image尺寸為142x120=17040,協方差陣S=xx‘,則S為17040x17040矩陣,計算其特征值、特征向量計算量很大
?于是計算cov_mat=x‘x特征值、特征向量,則x‘x*v=lamda*v,左右同乘以x:xx‘x*v=lamda*x*v
?得到S特征向量為:lamda^-0.5*x*v
%}
cov_mat?=?x‘*x;??%協方差矩陣為x*x’,這里用奇異值分解
[VD]?=?eig(cov_mat);?????????%V為以特征向量為列的矩陣,D為特征值組成的對角陣
%V?=?x*V*(abs(D))^-0.5;????????%求協方差矩陣x*x‘的特征向量


%%?計算特征臉個數
add?=?0.0;
DD=diag(D);???????????????????????%將對角陣D轉換為矢量
sum?=?sum(DD);
for?lamda_k?=nImages:-1:1??????????%由于在D按照從小到大排列,故逆序遍歷
????add?=?add?+?DD(lamda_k);
????if?add/sum?>?0.95?????

評論

共有 條評論