资源简介
基于matlab实现pca主成分分析人脸识别,具体代码可以运行
代码片段和文件信息
%子函数:准备原始数据阵
function [samples samplesMean rawNum rolNum originSize]=arrDataMat(path imageNameList newSize)
%[samples samplesMean rawNum rolNum originSize]=arrDataMat(path imageNameList newSize)
%子函数,根据图像名称列表,读取图像数据,并灰度化,转化成 样本数*[newSize(1)*newSize(2)]数据阵
%输入:
%path:图像路径
%imageNameList:图像名称列表,类型为元胞数组
%newSize:缩减后图像尺度
%输出:
%samples:数据矩阵(一行为一个样本)
%samplesMean:数据阵平均值(行向量)
%rawNum:样本数
%rolNum:原始的变量维数,即像素的行*像素的列
%originSize:缩减前图片尺寸
rawNum = size(imageNameList1); %rawNum:样本数hang
rolNum=newSize(1)*newSize(2); %原始维度lie
samples = zeros(rawNum rolNum);
img = imread([pathimageNameList{1}]);
originSize = size(img);
originSize = originSize(1:2);
clear img;
%准备样本矩阵
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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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
评论
共有 条评论