资源简介

BP神经网络的人脸识别matlab代码 BP神经网络的人脸识别matlab代码

资源截图

代码片段和文件信息

%读入人脸图片,并将其转换成为灰度矩阵然后将灰度矩阵进行切割,再用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(4num);
                    %disp(temp2);
                    %得到所有图片的特征矩阵
                    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);
                    %提取最大

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-16 16:36  BP神经网络的人脸识别matlab代码\
     目录           0  2017-06-16 16:38  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\
     文件        5673  2017-05-06 10:39  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\allFeature.m
     文件         732  2007-04-08 19:57  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\content.m
     文件        1385  2006-06-03 03:08  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\createBP.m
     文件        1562  2007-03-18 20:53  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\createBP1.m
     文件         166  2017-04-15 11:13  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\face20.txt
     目录           0  2017-06-16 16:36  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\html\
     文件       24654  2017-05-14 11:38  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\html\allFeature.html
     文件        2188  2007-03-27 21:33  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\result.m
     目录           0  2017-06-16 16:36  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s1\
     目录           0  2017-06-16 16:36  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\1.BMP
     文件       10318  1994-04-18 14:18  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\1.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\10.BMP
     文件       10318  1994-04-18 14:07  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\10.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\2.BMP
     文件       10318  1994-04-18 14:18  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\2.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\3.BMP
     文件       10318  1994-04-18 14:18  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\3.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\4.BMP
     文件       10318  1994-04-18 14:18  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\4.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\5.BMP
     文件       10318  1994-04-18 14:18  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\5.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\6.BMP
     文件       10318  1994-04-18 14:07  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\6.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\7.BMP
     文件       10318  1994-04-18 14:07  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\7.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\8.BMP
     文件       10318  1994-04-18 14:07  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\8.pgm
     文件       11382  2005-05-27 15:04  BP神经网络的人脸识别matlab代码\method_svd_奇异值分解\s10\9.BMP
............此处省略827个文件信息

评论

共有 条评论