资源简介
MATLAB下人脸图像的PCA重构,用matlab实现,代码完整高效。
代码片段和文件信息
clear all
%allsamples=zeros([11292400]);%所有图像
image=zeros(112*92400);
%samples=zeros(11292400);
%for i=1:40
% for j=1:10
% n=(i-1)*10+j;
% allsamples(::n)=imread(strcat(‘E:\att_faces\s‘num2str(i)‘\‘num2str(j)‘.pgm‘));
%end
%end
%save(‘400pictures.mat‘‘allsamples‘)
load(‘400pictures.mat‘);
for l=1:112
for m=1:92
k=(m-1)*112+l;
image(k:)=allsamples(lm:);
end
end
imgmean=mean(image2); % 平均图片
avg = reshape(imgmean 11292);
avg=uint8(avg);
figureimshow(avg)
for n=1:400
diff(:n) = image(:n)-imgmean; % diff是训练图和平均图之间的差值
end
covdiff=diff‘*diff;
[vd]=eig(covdiff);
d1=diag(d);
dsort = flipud(d1);
vsort = fliplr(v);
base = diff * vsort(::) * diag(dsort(:).^(-1/2));
figure
for i=1:4
for j=1:5
t=(i-1)*5+j;
temp = reshape(base(:t) 11292);
MAX=max(max(temp)); %求出图像矩阵中灰度值最大的值
MIN=min(min(temp)); %求出图像矩阵中灰度值最小的值
temp(::)=(temp(::)-MIN)/(MAX-MIN)*255; %归一化后再映射到0-255
temp=uint8(temp);
subplot(45t)
imshow(temp)
end
end
img1=‘E:\att_faces\s1\1.pgm‘;
test1=imread(img1);
combined1(:1)=test1(1:112*92);
combined1=double(combined1);
dis1=combined1-imgmean;
factor1=base‘*dis1;
t = 199;
temp = base(:1:t)*factor1(1:t);
temp = temp + imgmean;
temp = reshape(temp 11292);
MAX=max(max(temp)); %求出图像矩阵中灰度值最大的值
MIN=min(min(temp)); %求出图像矩阵中灰度值最小的值
temp(::)=(temp(::)-MIN)/(MAX-MIN)*255; %归一化后再映射到0-255
temp=uint8(temp);
figureimshow(temp)
img2=‘E:\att_faces\s1\3.pgm‘;
test2=imread(img2);
combined2(:1)=test2(1:112*92);
combined2=double(combined2);
dis2=combined2-imgmean;
factor2=base‘*dis2;
distance1=factor1-factor2; %投影系数相减
sqrt(sum(abs(distance1.*distance1)))
img3=‘E:\att_faces\s3\3.pgm‘;
test3=imread(img3);
combined3(:1)=test3(1:112*92);
combined3=double(combined3);
dis3=combined3-imgmean;
factor3=base‘*dis3;
distance2=factor1-factor3; %投影系数相减
sqrt(sum(abs(distance2.*distance2)))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3712930 2014-05-30 03:03 MATLAB下人脸图像的PCA重构\400pictures.mat
文件 1579 1995-02-23 18:13 MATLAB下人脸图像的PCA重构\att_faces\README
文件 10318 1994-04-18 14:17 MATLAB下人脸图像的PCA重构\att_faces\s1\1.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s1\10.pgm
文件 10318 1994-04-18 14:17 MATLAB下人脸图像的PCA重构\att_faces\s1\2.pgm
文件 10318 1994-04-18 14:17 MATLAB下人脸图像的PCA重构\att_faces\s1\3.pgm
文件 10318 1994-04-18 14:17 MATLAB下人脸图像的PCA重构\att_faces\s1\4.pgm
文件 10318 1994-04-18 14:17 MATLAB下人脸图像的PCA重构\att_faces\s1\5.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s1\6.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s1\7.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s1\8.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s1\9.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s10\1.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s10\10.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s10\2.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s10\3.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s10\4.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s10\5.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s10\6.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s10\7.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s10\8.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s10\9.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s11\1.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s11\10.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s11\2.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s11\3.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s11\4.pgm
文件 10318 1994-04-18 14:18 MATLAB下人脸图像的PCA重构\att_faces\s11\5.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s11\6.pgm
文件 10318 1994-04-18 14:07 MATLAB下人脸图像的PCA重构\att_faces\s11\7.pgm
............此处省略419个文件信息
- 上一篇:人脸表情识别matlab代码
- 下一篇:MATLAB工具箱大全,各种算法
相关资源
- 基于PCA对人脸图像做特征选择matlab程
- 加州理工学院彩色人脸图像库
- matlab 去除人脸图像中的雀斑,人脸美
- PCA_SVM 此方法采用经典的PCA对人脸图像
- recognize_face 利用灰度积分投影直接对
- eye 在给定的人脸图像上自动的定位人
- fsvmPpca-face-Recognition 首先用PCA对ORA人脸
- gabor-pca 本程序是先用gabor小波变换对
- 20064817924orl_faces_112x92 ORL人脸图像库
- gray-integral-image-detection 利用灰度积分
- Face-image-normalization 用matlab写的一个将
- 人脸图像预处理的matlab源程序
评论
共有 条评论