基于PCA的人脸特征提取1
来源:互联网 发布:邯郸数据库工程师招聘 编辑:程序博客网 时间:2024/05/19 21:59
应用PCA技术来抽取人脸特征,在降低维数的同时,在一定程度上去除原始特征各维之间的相关性。
一 、生成样本矩阵
ORL人脸库共有400幅人脸图像(40人,每人10幅图像,像素为112*92),选用每个人的前5张图片作为实验的数据集,这样共有200幅样本图像。
首先要做的是将这200幅人脸图像转换为向量形式,组成样本矩阵。函数ReadFaces()用于完成这一任务
ReadFaces()依次读入样本图像(假定40个人的样本图像位于“..../ORL/”路径下,如第18人的10幅图像位于..../ORL/S18中,然后将112×92的像素按列存储为10304维的行向量作为样本矩阵FaceContainer的一个样本(一行),最后将样本矩阵保存至Mat目录下的FaceMat.mat文件。
函数具体实现如下:
function [imgRow,imgCol,FaceContainer,faceLabel]=ReadFaces(nFacesPerPerson,nPerson,bTest)
%读入ORL人脸库指定书目的人脸前五张训练
%
%输入:nFacesPerPerson*nPerson--每个人需要读入的样本数,默认值为5
% nPerson--需要读入的人数,默认为全部40人
% bTest--bool型的参数。默认为0,表示读入训练样本(前五张);如果为1,表示
% 读入测试样本(后五张)
%输出:FaceContainer--向量化人脸容器,nPerson*10304的2维矩阵,每行对应一个人脸
% 向量
if nargin==0
nFacesPerPerson=5;%前五张用于训练
nPerson=40; %要读入的人数
bTest=0;
elseif nargin<3
bTest=0;
end
img=imread('E:\表情数据库\ORL\s1_1.bmp');%为计算尺寸先读入一张
[imgRow,imgCol]=size(img);
FaceContainer=zeros(nFacesPerPerson.*nPerson,imgRow.*imgCol);
faceLabel=zeros(nFacesPerPerson,1);
%读入训练数据
for i=1:nPerson
strPath='E:\表情数据库\ORL\s';
strPath=strcat(strPath,num2str(i),'_');
tempStrPath=strPath;
for j=1:nFacesPerPerson
strPath=tempStrPath;
if bTest==0 %读入训练数据
strPath=strcat(strPath,num2str(j));
else
strPath=strcat(strPath,num2str(5+j));
end
strPath=strcat(strPath,'.bmp');
img=imread(strPath);
%把读入的图像按列存储为行向量放入向量化人脸容器对应的行中
FaceContainer((i-1)*nFacesPerPerson+j,:)=img(:)';
faceLabel((i-1)*nFacesPerPerson+j)=i;
end
end
%保存人脸样本矩阵
save('../FaceMat.mat','FaceContainer')
- 基于PCA的人脸特征提取1
- 基于PCA的特征提取
- 基于PCA的特征提取
- 基于PCA的人脸特征提取及人脸重建
- 基于PCA的人脸特征抽取
- 基于ORL人脸库PCA特征提取之“基于主分量人脸重建”
- 人脸识别特征脸提取PCA算法
- 人脸识别特征脸提取PCA算法
- PCA提取特征脸(vs2013+opencv249)
- PCA-特征提取
- 特征提取之PCA
- 基于 vs2013 + caffe 的 人脸图像 vgg 特征提取
- 基于纹理的特征提取
- 基于PCA的ORL人脸库特征抽取
- 人脸特征提取
- 【分享】基于Gabor特征提取和人工智能神经网络的人脸检测matlab代码
- 基于Gabor特征提取和人工智能神经网络的人脸检测matlab代码
- 基于词性的特征提取方法
- 20141204-Allegro16.6元件封装的制作
- Anaroid WebView详解大全
- osg for android 操作器
- java Socket API 详解 .
- unity3d 相机围绕某个物体旋转,四元数*位置
- 基于PCA的人脸特征提取1
- 日期问题
- html5将图片转换base64进行上传、应该能解决微信内置浏览器上传图片
- 宿命的轮回
- 设计模式-1.11装饰模式
- Android 动画(anim)详解
- 最简单的js+css遮罩实现
- Myeclipse使用DB Browser连接数据库错误:OPTION SQL_SELECT_LIMIT=DEFAULT
- MFC实现QQ抖动