• 大小: 1.09MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-30
  • 语言: Matlab
  • 标签: pca算法  

资源简介

基于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


评论

共有 条评论