资源简介
基于BP神经网络的人脸识别MATLAB实现,包括软件界面,采用ORL人脸库,是本科毕设,比较粗糙,供参考!

代码片段和文件信息
%读入人脸图片,并将其转换成为灰度矩阵然后将灰度矩阵进行切割,再用SVD分解,并提取图片特征
%返回参数
%feature为指向装载后的数据文件的变量
%num的值为特征值向量的第几维
%函数声明
function [feature featureNumber] = 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系数作为特征值
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-05-05 22:22 BP神经网络人脸识别MATLAB\
文件 117180 2019-05-05 22:18 BP神经网络人脸识别MATLAB\Face_recognition.fig
文件 27950 2019-05-05 22:18 BP神经网络人脸识别MATLAB\Face_recognition.m
文件 1136 2019-04-17 17:50 BP神经网络人脸识别MATLAB\Main.m
文件 2013 2019-04-17 10:58 BP神经网络人脸识别MATLAB\train_test_spilt.m
文件 354 2019-05-05 20:32 BP神经网络人脸识别MATLAB\trainBP.m
文件 5639 2019-04-17 09:14 BP神经网络人脸识别MATLAB\allFeature.m
文件 611 2019-04-17 13:35 BP神经网络人脸识别MATLAB\changePara.m
文件 10318 1994-04-18 14:07 BP神经网络人脸识别MATLAB\s9\9.pgm
文件 3960 2019-04-17 17:17 BP神经网络人脸识别MATLAB\createBP.m
文件 166 2019-02-25 19:59 BP神经网络人脸识别MATLAB\face20.txt
文件 2276 2019-05-05 21:09 BP神经网络人脸识别MATLAB\result.m
目录 0 2019-04-15 13:37 BP神经网络人脸识别MATLAB\s1\
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\1.BMP
文件 10318 1994-04-18 14:17 BP神经网络人脸识别MATLAB\s1\1.pgm
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\10.BMP
文件 10318 1994-04-18 14:07 BP神经网络人脸识别MATLAB\s1\10.pgm
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\2.BMP
文件 10318 1994-04-18 14:17 BP神经网络人脸识别MATLAB\s1\2.pgm
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\3.BMP
文件 10318 1994-04-18 14:17 BP神经网络人脸识别MATLAB\s1\3.pgm
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\4.BMP
文件 10318 1994-04-18 14:17 BP神经网络人脸识别MATLAB\s1\4.pgm
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\5.BMP
文件 10318 1994-04-18 14:17 BP神经网络人脸识别MATLAB\s1\5.pgm
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\6.BMP
文件 10318 1994-04-18 14:07 BP神经网络人脸识别MATLAB\s1\6.pgm
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\7.BMP
文件 10318 1994-04-18 14:07 BP神经网络人脸识别MATLAB\s1\7.pgm
文件 11382 2005-05-27 15:04 BP神经网络人脸识别MATLAB\s1\8.BMP
文件 10318 1994-04-18 14:07 BP神经网络人脸识别MATLAB\s1\8.pgm
............此处省略825个文件信息
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论