资源简介
运行于matlab下的人脸识别的全套源码,包括人脸数据库和非常详细的实验说明书(11页,带截图),根据说明能运行,能看懂代码;采用的特征提取算法是奇异值分解,采用的分类器是神经网络;希望对大家有帮助!
代码片段和文件信息
%读入人脸图片,并将其转换成为灰度矩阵然后将灰度矩阵进行切割,再用SVD分解,并提取图片特征
%返回参数
%feature为指向装载后的数据文件的变量
%num的值为特征值向量的第几维
%函数声明
function [feature] = allFeature(num)
%用户输入特征维数数目
panDuan = 1;
while panDuan
featureNumber = input(‘请输入特征维数(仅限于8 16,24 32,48,64,80):‘);
%如果输入的是8.16.24.32.48.64.80则继续执行代码
if(featureNumber == 8||featureNumber == 16 || featureNumber == 24|| featureNumber == 32 || featureNumber == 48 || featureNumber == 64 || featureNumber == 80 )
panDuan = 0;
disp(‘开始装载图像文件请等待.......‘)
%如果输入的是其它数字提示输入有误请用户重新输入
else
fprintf(‘你输入的不是这5个数中的任何一个请重新输入!\n\n‘)
end
end
%得出图片的路径,并自动读入每张图片
dir = [‘\1.bmp ‘
‘\2.bmp ‘
‘\3.bmp ‘
‘\4.bmp ‘
‘\5.bmp ‘
‘\6.bmp ‘
‘\7.bmp ‘
‘\8.bmp ‘
‘\9.bmp ‘
‘\10.bmp‘];
for x=1:40
%将数字转换成字符,便于把两个字符连接,组成图片的完整路径
a = int2str(x);
b = [‘s‘];
d = [b a];
for i=1:10
%得到每张图片的文件名
e = [d dir(i1:7)];
% 将图片转化成为灰度矩阵
M = double(imread(e));
%如果用户输入的是8则执行下段代码把数据处理得到8维的特征向量
if (featureNumber == 8)
for j=1:4
for k=1:2
%将图片的灰度矩阵划分成8块小矩阵
temp=M((j-1)*28+1:j*28(k-1)*46+1:k*46);
%对每个小矩阵进行SVD变换
[utemp1v]=svd(temp);
%提取一个的SVD系数作为特征值
temp2=temp1(numnum);
%得到所有图片的特征矩阵
feature((x-1)*10+i(j-1)*2+k)=temp2;
end
end
end
%如果用户输入的是16则执行下段代码把数据处理得到16维的特征向量
if (featureNumber == 16)
for j=1:4
for k=1:4
%将图片的灰度矩阵划分成16块小矩阵
temp=M((j-1)*28+1:j*28(k-1)*23+1:k*23);
%对每个小矩阵进行SVD变换
[utemp1v]=svd(temp);
%提取一个的SVD系数作为特征值
temp2=temp1(numnum);
%得到所有图片的特征矩阵
feature((x-1)*10+i(j-1)*4+k)=temp2;
end
end
end
%如果用户输入的是24则执行下段代码把数据处理得到16维的特征向量
if (featureNumber == 24)
for j=1:6
for k=1:4
%将图片的灰度矩阵划分成24块小矩阵
temp=M((j-1)*18+1:j*18(k-1)*23+1:k*23);
%对每个小矩阵进行SVD变换
[utemp1v]=svd(temp);
%提取一个的SVD系数作为特征值
temp2=temp1(numnum);
%得到所有图片的特征矩阵
feature((x-1)*10+i(j-1)*4+k)=temp2;
end
end
end
%如果用户输入的是32则执行下段代码把数据处理得到32维的特征向量
if (featureNumber == 32)
for j=1:8
for k=1:4
%将图片的灰度矩阵划分成32块小矩阵
temp=M((j-1)*14+1:j*14(k-1)*23+1:k*23);
%对每个小矩阵进行SVD变换
[utemp1v]=svd(temp);
%提取最大的SVD系数作为特征值
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 371 2008-06-07 12:28 人脸识别代码\代码运行流程.txt
文件 0 2009-05-12 11:13 人脸识别代码\运行于matlab下.txt
文件 5640 2008-05-17 16:05 人脸识别代码\method_svd_奇异值分解\allFeature.m
文件 732 2007-04-08 19:57 人脸识别代码\method_svd_奇异值分解\content.m
文件 1385 2006-06-03 03:08 人脸识别代码\method_svd_奇异值分解\createBP.m
文件 1562 2007-03-18 20:53 人脸识别代码\method_svd_奇异值分解\createBP1.m
文件 2188 2007-03-27 21:33 人脸识别代码\method_svd_奇异值分解\result.m
文件 6624 2007-06-08 11:53 人脸识别代码\method_svd_奇异值分解\Start.m
文件 335 2006-06-03 11:24 人脸识别代码\method_svd_奇异值分解\trainBP.m
文件 1973 2008-03-04 12:55 人脸识别代码\method_svd_奇异值分解\train_test.m
文件 371 2008-06-07 12:28 人脸识别代码\method_svd_奇异值分解\代码运行流程.txt
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\1.BMP
文件 10318 1994-04-18 14:18 人脸识别代码\method_svd_奇异值分解\s9\1.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\10.BMP
文件 10318 1994-04-18 14:07 人脸识别代码\method_svd_奇异值分解\s9\10.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\2.BMP
文件 10318 1994-04-18 14:18 人脸识别代码\method_svd_奇异值分解\s9\2.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\3.BMP
文件 10318 1994-04-18 14:18 人脸识别代码\method_svd_奇异值分解\s9\3.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\4.BMP
文件 10318 1994-04-18 14:18 人脸识别代码\method_svd_奇异值分解\s9\4.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\5.BMP
文件 10318 1994-04-18 14:18 人脸识别代码\method_svd_奇异值分解\s9\5.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\6.BMP
文件 10318 1994-04-18 14:07 人脸识别代码\method_svd_奇异值分解\s9\6.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\7.BMP
文件 10318 1994-04-18 14:07 人脸识别代码\method_svd_奇异值分解\s9\7.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\8.BMP
文件 10318 1994-04-18 14:07 人脸识别代码\method_svd_奇异值分解\s9\8.pgm
文件 11382 2005-05-27 15:09 人脸识别代码\method_svd_奇异值分解\s9\9.BMP
............此处省略827个文件信息
相关资源
- 基于adaboost算法的目标检测MATLAB代码
- 数字信号处理MATLAB版第三版
- Random Walks 标准程序,MATLAB程序,调试
- 车牌识别matlab程序235178
- MIMOOFDM 极化码 MATLAB
- 数字信号处理及其Matlab实现 陈怀琛
- Modelling.the.Wireless.Propagation.Channel.A.s
- MATLAB编程菜鸟入门教材
- 基于MATLAB的超声波声场模拟及可视化
- matlab 模特卡罗计算节点可靠度
- RBMCDAbox - Matlab Toolbox of Rao-Blackwellize
- matlab 基于点云的三维重建 附带 点云
- 凸优化matlab算法包
- Gabor滤波后的GIST特征提取matlab代码
- lte链路层 matlab仿真4
- Experiments with MATLAB
- MACHINE_LEARNING_with_NEURAL_NETWORKS_using_MA
- 最佳接收机的实现与仿真,matlab仿真
- 永磁同步电机FOC控制MATLAB仿真模型
- 现代数字图像处理技术提高及应用案
- 涡格法MATLAB程序
- S-ICP算法MATLAB程序
- 蜂窝小区同频干扰的Matlab仿真
- gbvs算法的matlab代码
- seislab 3.02
- 中值维纳小波等五种图像去噪方法源
- matlab形式波形文件到安捷伦信号发生
- 基于DCT变换和DFT变换的数字图像压缩
- MATLAB简介+图像轮廓线提取+图像分割技
- 基于Matlab的PCM系统设计与仿真
评论
共有 条评论