資源簡(jiǎn)介
基于matlab實(shí)現(xiàn)pca主成分分析人臉識(shí)別,具體代碼可以運(yùn)行

代碼片段和文件信息
%子函數(shù):準(zhǔn)備原始數(shù)據(jù)陣
function?[samples?samplesMean?rawNum?rolNum?originSize]=arrDataMat(path?imageNameList?newSize)????????
%[samples?samplesMean?rawNum?rolNum?originSize]=arrDataMat(path?imageNameList?newSize)?
%子函數(shù),根據(jù)圖像名稱(chēng)列表,讀取圖像數(shù)據(jù),并灰度化,轉(zhuǎn)化成?樣本數(shù)*[newSize(1)*newSize(2)]數(shù)據(jù)陣
%輸入:
%path:圖像路徑
%imageNameList:圖像名稱(chēng)列表,類(lèi)型為元胞數(shù)組
%newSize:縮減后圖像尺度
%輸出:
%samples:數(shù)據(jù)矩陣(一行為一個(gè)樣本)
%samplesMean:數(shù)據(jù)陣平均值(行向量)
%rawNum:樣本數(shù)
%rolNum:原始的變量維數(shù),即像素的行*像素的列
%originSize:縮減前圖片尺寸
rawNum?=?size(imageNameList1);?%rawNum:樣本數(shù)hang
rolNum=newSize(1)*newSize(2);?%原始維度lie
samples?=?zeros(rawNum?rolNum);
img?=?imread([pathimageNameList{1}]);
originSize?=?size(img);
originSize?=?originSize(1:2);
clear?img;
%準(zhǔn)備樣本矩陣
?for?k=1:rawNum
?????imageTemp_?=?imread([pathimageNameList{k}]);
?????imageTemp?=?im2double(imageTemp_);
?????if?length(size(imageTemp))==3
????????imageTemp?=?rgb2gray(imageTemp);?%灰度化
????????imageTemp?=?histeq(imageTemp);?%直方圖均衡化
?????end
????imageTemp2?=?imresize(imageTemp?newSize);
????imageTemp3??=?imageTemp2(:)‘;
????samples(k:)?=?imageTemp3;
end
samplesMean?=?mean(samples);?%樣本均值
end
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????1279??2018-04-03?15:22??complete_pca\arrDataMat.m
?????文件????????372??2018-04-02?21:57??complete_pca\getFileList.m
?????文件????1139748??2018-04-11?21:30??complete_pca\pca_data.mat
?????文件???????1063??2018-04-11?20:43??complete_pca\pca_rencgnation.m
?????文件???????1669??2018-04-11?21:04??complete_pca\pca_test.m
?????文件???????2532??2018-04-03?15:19??complete_pca\pca_train.m
?????文件????????645??2018-04-02?21:57??complete_pca\simitzj.m
?????目錄??????????0??2018-04-28?22:28??complete_pca
-----------?---------??----------?-----??----
??????????????1147308????????????????????8
評(píng)論
共有 條評(píng)論