资源简介
pca,特征脸程序,主成分分析,表情识别,人脸识别,特征提取
代码片段和文件信息
%一个修改后的PCA进行人脸识别的Matlab代码
% calc xmeansigma and its eigen decomposition
function [frobenius_distrain_time] = u2dpca;
clear all;
cv = zeros(92/192/1);
train_samples = zeros(112/192/1200);
d = 8;
f = randperm(10)
tic;
for i=1:40
for j=1:5
a=imread(strcat(‘H:\毕业设计\face database\orl\orl_faces_gai\s‘num2str(i)‘\‘num2str(f(j))‘.bmp‘));%D:\rawdata\ORL\s
%a = imresize(a1/4‘bilinear‘);
%imshow(a);
%b=a(112:92); % b是行矢量 1×N,其中N=10304,提取顺序是先列后行,即从上到下,从左到右
b=double(a);
train_samples(::(i-1)*5 + j)=b;
cv = cv + b‘*b;
end
end
toc;
%mean_train_samples = mean(train_samples3);
%train_samples_sub = zeros(112/192/1200);
%for i = 1:200;
% train_samples_sub(::i) = train_samples(::i) - mean_train_samples;
% cv = cv + train_samples_sub(::i)‘ * train_samples_sub(::i);
%end
cv = cv/200;
[vv dv]=eig(cv);
d3=diag(dv);
[d4 indexv]=sort(d3); %以升序排序
for i=1:92/1
vsortv(:i) = vv(: indexv(92/1-i+1) ); % vsort 是一个M*col(注:col一般等于M)阶矩阵,保存的是按降序排列的特征向量每一列构成一个特征向量
dsortv(i) = d3( indexv(92/1-i+1) ); % dsort 保存的是按降序排列的特征值,是一维行向量
end %完成降序排列
final_v = zeros(92/1d);
for i = 1:d;
final_v(:i) = vsortv(:i);
end
toc;
frobenius_dis = 0;
u2dproject = zeros(112/1d200);
for i = 1:200
u2dproject(::i) = train_samples(::i) * final_v;
%image = u2dproject(::i) * final_v‘;
%imwrite(uint8(image)strcat(‘H:\毕业设计\face database\orl\orl_faces_rename\u2dpca8\‘num2str(i)‘.bmp‘)‘bmp‘);
mid = train_samples(::i) - u2dproject(::i) * final_v‘;
frobenius_dis = frobenius_dis + (norm(mid‘fro‘))^2;
end
train_time = toc;
%frobenius_dis
%tic;
%accu = 0;
%flag = zeros(1200);
%test_features = zeros(112/1d);
%mdist = zeros(1200);
%for i=1:40
% for j=6:10 %读入40 x 5 副测试图像
% a=imread(strcat(‘H:\毕业设计\face database\orl\orl_faces_gai\s‘num2str(i)‘\‘num2str(f(j))‘.bmp‘));%D:\rawdata\ORL\s
% %a = imresize(a1/4‘bilinear‘);
% b=double(a);
% test_features = b * final_v;
% for k=1:200
% mdist(k)= norm(test_features - u2dproject(::k)‘fro‘);
% end;
%三阶近邻
% [distindex2]=sort(mdist);
% class1=floor(index2(1)/5 )+1;%???
% class2=floor(index2(2)/5)+1;
% class3=floor(index2(3)/5)+1;
% if class1~=class2 && class2~=class3
% class=class1;
% elseif class1==class2
% class=class1;
% elseif class2==class3
% class=class2;
% end;
% if class==i
% accu=accu+1;
% flag(1(i-1)*5 + j-5) = 1;
% end;
% end;
%end;
%accuracy=accu/200 %输出识别率
%toc
return;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 408 2008-04-10 07:56 LZXEC.m
文件 24064 2009-11-02 14:50 lzxec.doc
----------- --------- ---------- ----- ----
24472 2
相关资源
- ClipCache Pro 3.5.3(剪切板缓存 专业版)
- libpcap qt
- WinPcap4.01版驱动程序+开发包+帮助文档
- WinPcap3.0版驱动程序+开发包+帮助文档
- IP数据包流量监控(这个程序利用Wi
- 基于PCA的人脸识别MATLA B实现及GUI设计
- 这是libpcap的使用程序和文档
- LBP+直方图与PCA+的欧式距离的人脸识别
- 在Yale 人脸库上运用PCA+SVM的方法实现
- 用winpcap在局域网实现文件传输
- 剪贴板增强工具_ClipCache Pro 3.6.1安装
- 3篇很经典的PCA原理的英文文献
- pcaad_5.0天线设计
- 基于KPCA的人脸识别m源代码
- 利用PCA和SVM进行人脸识别
- OpenCV的PCA人脸识别
- 基于WinPcap的ARP欺骗实验
- PCA算法.pdf(主成分分析 ( Principal
- RPCA 低秩稀疏分解
- Mountaintop网上资料及个人学习文档
- PCA-ICA-LDA 介绍与比较
- pca 人脸识别+orl人脸数据库
- 基于winpcap的网络协议分析器
- PCA 人脸识别算法
- 基于PCA算法的Eigenfaces人脸识别算法
- 基于PCA的人脸识别系统的设计与实现
- Gait_recogniton_PCA
- 人脸识别的英文文献
- SAPCAR+scgui整合,图形解压SAR文件
- 电容传感器pcap01数据读取及发送程序
评论
共有 条评论