• 大小: 10.04MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-08
  • 语言: 其他
  • 标签:

资源简介

人脸识别代码

资源截图

代码片段和文件信息

%读入人脸图片,并将其转换成为灰度矩阵然后将灰度矩阵进行切割,再用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系数作为特征值
                    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-03-08 14:48  人脸识别代码\
     目录           0  2017-02-15 10:27  人脸识别代码\method_svd_奇异值分解\
     文件        6624  2007-06-08 11:53  人脸识别代码\method_svd_奇异值分解\Start.m
     文件        5640  2008-05-17 16:05  人脸识别代码\method_svd_奇异值分解\allFeature.m
     文件         374  2015-09-06 15:04  人脸识别代码\method_svd_奇异值分解\answer.m
     文件        7013  2015-09-07 15:00  人脸识别代码\method_svd_奇异值分解\answer2.m
     文件        3015  2015-09-08 15:42  人脸识别代码\method_svd_奇异值分解\answer3.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
     文件         166  2015-09-06 17:01  人脸识别代码\method_svd_奇异值分解\face20.txt
     文件        2188  2007-03-27 21:33  人脸识别代码\method_svd_奇异值分解\result.m
     目录           0  2017-02-15 10:27  人脸识别代码\method_svd_奇异值分解\s1\
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\1.BMP
     文件       10318  1994-04-18 14:17  人脸识别代码\method_svd_奇异值分解\s1\1.pgm
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\10.BMP
     文件       10318  1994-04-18 14:07  人脸识别代码\method_svd_奇异值分解\s1\10.pgm
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\2.BMP
     文件       10318  1994-04-18 14:17  人脸识别代码\method_svd_奇异值分解\s1\2.pgm
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\3.BMP
     文件       10318  1994-04-18 14:17  人脸识别代码\method_svd_奇异值分解\s1\3.pgm
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\4.BMP
     文件       10318  1994-04-18 14:17  人脸识别代码\method_svd_奇异值分解\s1\4.pgm
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\5.BMP
     文件       10318  1994-04-18 14:17  人脸识别代码\method_svd_奇异值分解\s1\5.pgm
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\6.BMP
     文件       10318  1994-04-18 14:07  人脸识别代码\method_svd_奇异值分解\s1\6.pgm
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\7.BMP
     文件       10318  1994-04-18 14:07  人脸识别代码\method_svd_奇异值分解\s1\7.pgm
     文件       11382  2005-05-27 15:04  人脸识别代码\method_svd_奇异值分解\s1\8.BMP
     文件       10318  1994-04-18 14:07  人脸识别代码\method_svd_奇异值分解\s1\8.pgm
............此处省略829个文件信息

评论

共有 条评论