% 导入人脸图像集合
clc
clear
close all
k = 0;
for i=1:1:40
for j=1:1:10
filename = sprintf('att_faces\\s%d\\%d.pgm',i,j);
image_data = imread(filename);
k = k + 1;
x(:,k) = image_data(:);
anot_name(k,:) = sprintf('%2d:%2d',i,j);
end;
end;
nImages = k; %图像总共的数量
imsize = size(image_data); %图像尺寸
nPixels = imsize(1)*imsize(2); %图像中的像素数
x = double(x)/255; %转换成双精度型并进行归一化处理
%计算图像均值
avrgx = mean(x')';
for i=1:1:nImages
x(:,i) = x(:,i) - avrgx;
end;
subplot(2,2,1); imshow(reshape(avrgx, imsize)); title('mean face')
cov_mat = x'*x; %计算协方差矩阵
%计算协方差矩阵的奇异值
[V,D] = eig(cov_mat);
V = x*V*(abs(D))^-0.5;
subplot(2,2,2); imshow(ScaleImage(reshape(V(:,nImages ),imsize))); title('1st eigen face');
subplot(2,2,3); imshow(ScaleImage(reshape(V(:,nImages-1),imsize))); title('2st eigen face');
subplot(2,2,4); plot(diag(D)); title('Eigen values');
KLCoef = x'*V; %图像分解系数
%重构图像
image_index = 12; reconst = V*KLCoef';
diff = abs(reconst(:,image_index) - x(:,image_index));
strdiff_sum = sprintf('delta per pixel: %e',sum(sum(diff))/nPixels);
figure;
subplot(2,2,1); imshow((reshape(avrgx+reconst(:,image_index), imsize))); title('Reconstructed');
subplot(2,2,2); imshow((reshape(avrgx+x(:,image_index), imsize)));title('original');
subplot(2,2,3); imshow(ScaleImage(reshape(diff, imsize))); title(strdiff_sum);
for i=1:1:nImages
%计算欧式距离
dist(i) = sqrt(dot(KLCoef(1,:)-KLCoef(i,:), KLCoef(1,:)-KLCoef(i,:)));
end;
subplot(2,2,4); plot(dist,'.-'); title('euclidean distance from the first face');
figure;
show_faces = 1:1:nImages/2;
plot(KLCoef(show_faces,nImages), KLCoef(show_faces,nImages-1),'.'); title('Desomposition: Numbers indicate (Face:Expression)');
for i=show_faces
name = anot_name(i,:);
text(KLCoef(i,nImages), KLCoef(i,nImages-1),name,'FontSize',8);
end;
% 查找相似图像
image_index = 78;
for i=1:1:nImages
dist_comp(i)=sqrt(dot(KLCoef(image_index,:)-KLCoef(i,:),KLCoef(image_index,:)-KLCoef(i,:)));
strDist(i) = cellstr(sprintf('%2.2f\n',dist_comp(i)));
end;
[sorted, sorted_index] = sort(dist_comp);
figure;
for i=1:1:9
subplot(3,3,i); imshow((reshape(avrgx+x(:,sorted_index(i)),imsize)));title(strDist(sorted_index(i)));
end
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于K-L变换的人脸识别技术:提取输入人脸图像矩阵的特征向量,并与图像数据库中样本特征向量求欧式距离,距离小于阈值时便认为识别成功。 该资源包含人脸图像数据库,以及KL变换人脸识别代码,下载后可直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
基于KL变换的人脸识别技术.zip (404个子文件)
.DS_Store 10KB
基于KL变换的人脸识别技术.m 2KB
ScaleImage.m 128B
4.pgm 10KB
4.pgm 10KB
6.pgm 10KB
4.pgm 10KB
3.pgm 10KB
3.pgm 10KB
9.pgm 10KB
5.pgm 10KB
1.pgm 10KB
3.pgm 10KB
2.pgm 10KB
2.pgm 10KB
2.pgm 10KB
6.pgm 10KB
6.pgm 10KB
8.pgm 10KB
3.pgm 10KB
1.pgm 10KB
9.pgm 10KB
10.pgm 10KB
6.pgm 10KB
9.pgm 10KB
8.pgm 10KB
5.pgm 10KB
8.pgm 10KB
10.pgm 10KB
4.pgm 10KB
4.pgm 10KB
9.pgm 10KB
4.pgm 10KB
3.pgm 10KB
6.pgm 10KB
1.pgm 10KB
5.pgm 10KB
5.pgm 10KB
1.pgm 10KB
3.pgm 10KB
10.pgm 10KB
3.pgm 10KB
3.pgm 10KB
9.pgm 10KB
9.pgm 10KB
4.pgm 10KB
1.pgm 10KB
2.pgm 10KB
8.pgm 10KB
10.pgm 10KB
9.pgm 10KB
6.pgm 10KB
2.pgm 10KB
8.pgm 10KB
7.pgm 10KB
1.pgm 10KB
8.pgm 10KB
7.pgm 10KB
6.pgm 10KB
10.pgm 10KB
7.pgm 10KB
9.pgm 10KB
7.pgm 10KB
8.pgm 10KB
8.pgm 10KB
5.pgm 10KB
5.pgm 10KB
10.pgm 10KB
6.pgm 10KB
3.pgm 10KB
1.pgm 10KB
9.pgm 10KB
3.pgm 10KB
3.pgm 10KB
1.pgm 10KB
8.pgm 10KB
1.pgm 10KB
2.pgm 10KB
5.pgm 10KB
4.pgm 10KB
10.pgm 10KB
6.pgm 10KB
5.pgm 10KB
10.pgm 10KB
7.pgm 10KB
2.pgm 10KB
5.pgm 10KB
10.pgm 10KB
7.pgm 10KB
2.pgm 10KB
9.pgm 10KB
7.pgm 10KB
4.pgm 10KB
7.pgm 10KB
8.pgm 10KB
1.pgm 10KB
10.pgm 10KB
5.pgm 10KB
5.pgm 10KB
6.pgm 10KB
共 404 条
- 1
- 2
- 3
- 4
- 5
简单光学
- 粉丝: 3w+
- 资源: 157
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 20190313-100538-非对称电容在变压器油中10kv高压电作用下产生力的现象
- GB材料数据库(!请注意鉴别其中的材料参数并不是完全正确!)
- JAVA商城,支持小程序商城、 供应链商城 小程序商城 H5商城 app商城超全商城模式官网 支持小程序商城 H5商城 APP商城 PC商城
- springboot的在线商城系统设计与开发源码
- springboot的飘香水果购物网站的设计与实现 源码
- NO.4学习样本,请参考第4章的内容配合学习使用
- 20190312-084407-旋转磁体产生的场对周围空间长度的影响-数值越大距离越短
- 嵌入式系统应用-LVGL的应用-智能时钟 part 2
- 国家安全教育课程结课论文要求.docx
- FIR数字滤波器设计与软件实现.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页