Matlab PCA降维人脸识别-用耶鲁开源数据集,添加自制彩色脸

把之前作业的PCA人脸识别代码看了看,发现有个耶鲁大学的彩色开源数据,可是怎么都找不到。
自己网上扣了范冰冰的11张照片,做成耶鲁开源人脸数据集的格式。
写了几行代码,把文件夹中的某张挑出来做测试数据,剩下的是训练数据。放这里
%从数据集中挑选出测试数据。文件夹中选两张重命名然后放到同一个文件夹里。

%从数据集中挑选出测试数据。文件夹中选两张重命名然后放到同一个文件夹里。
TrainDatabasePath=uigetdir('E:/');
TrainFiles = dir(TrainDatabasePath)
% cd('E:\07-Matlab相关代码包\01-FaceRecognition\人脸识别数据\YaleFace\TestDatabase');
for i=1:15
    Files = dir(strcat(TrainDatabasePath,'\',TrainFiles(i).name))
   filename1 = strcat(TrainDatabasePath,'\',TrainFiles(i).name,'\',Files(4).name)
     filename2 = strcat(TrainDatabasePath,'\',TrainFiles(i).name,'\',TrainFiles(i).name,Files(4).name)
    movefile(filename1, filename2); 
    movefile(filename2, TrainDatabasePath);      
    
    filename3 = strcat(TrainDatabasePath,'\',TrainFiles(i).name,'\',Files(12).name)
     filename4 = strcat(TrainDatabasePath,'\',TrainFiles(i).name,'\',TrainFiles(i).name,Files(12).name)
    movefile(filename3, filename4); 
    movefile(filename4, TrainDatabasePath);     
end

代码也完善了一丢丢。

%读取训练数据
selpathname=uigetdir('E:/');
dirname = dir(selpathname);
ndir=size(dirname,1);
trainData=cell(8,ndir-2);
for i=1:ndir -2
    facedir=[selpathname,'\',dirname(i+2).name];
    facefile=dir(facedir);
    nfile=size(facefile,1);
    for j=1:nfile -2
        facename=[facedir,'/',facefile(j+2).name];
        trainData(j,i)={imread(facename)};
    end
end

在这里插入图片描述
话说范冰冰真的好看吼,表情管理也好好,很难找到有大表情的。废了我好久才裁剪好,感觉背景有些杂,也没管了。后面的识别效果也还可以,让我感慨呀PCA比我想象中靠谱了一点。
测试数据集
在这里插入图片描述
结果
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值