我现在做毕设,题目是《基于标准化LDA的人脸识别》。这个LDA算法(MATLAB的)有几行我不太懂,谁能帮我解释一下吗?
多谢!
这是一部分代码:
- C/C++ code
clear;clc;%%% set some parameter %%%%num_class=40;%40个人num_person=10;%每人10张照片num_train=6;num_test=4;M=112;N=92;%%% read the train image %%%k_train=0;train=zeros(M*N,num_class,num_train);%建立零矩阵for i=1:40 for j=1:num_train k_train=k_train+1; a=imread(strcat('C:\Program Files\MATLAB71\work\ORL\s',num2str(i),'\',num2str(j),'.pgm')); b=a(1:M*N); b=double(b); train(:,i,j)=b; endend
这几行我不太懂:
b=a(1:M*N);
b=double(b);
train(:,i,j)=b;
求指导!
------解决方案--------------------------------------------------------
b=a(1:M*N);
% 这里将a拉成一个列(行)向量,也就是把一幅图片拉成一维的形式,便于处理,亦可写成a(:)
b=double(b);
train(:,i,j)=b;
% 通过循环将每幅图像数据(前面的列向量)加入训练数据矩阵
------解决方案--------------------------------------------------------