📄 readimage.m
字号:
function [Train_Sample,Test_Sample,Total_Sample]=ReadImage(Train_Num)
%读图函数
%选择图片库ORL,根据训练样本数目Train_Num选取每一类样本的前Train_Num个为训练样本
%输出为总样本矩阵Total_Sample,训练样本矩阵Train_Sample,测试样本矩阵Test_Sample
%样本矩阵为一三维矩阵,每一列代表一幅BMP图片的数据
Path = uigetdir('', '请在当前文件夹下选择人脸识别图片库' );
T=40; %共40类
TN=10; %每类10幅图像
Total_Sample = [];
for i = 1:T
Total_Sample_t= [];
for j=1:TN
string=strcat(Path,'\',int2str(j+(i-1)*10));
img = imread(string,'BMP');
[irow icol] = size(img);
temp = reshape(img,irow*icol,1);
Total_Sample_t = [Total_Sample_t temp];
end
Total_Sample(:,:,i)=Total_Sample_t;
end
Total_Sample = double(Total_Sample);
%初始化训练样本集和测试样本集
[dim,sn,cn]=size(Total_Sample);
Train_Sample=zeros(dim,Train_Num,cn);
Test_Sample=zeros(dim,sn-Train_Num,cn);
%取前Train_Num个作为训练样本
for c=1:cn
s=1;
for s=1:sn
if s<=Train_Num
Train_Sample(:,s,c)=Total_Sample(:,s,c);
else
Test_Sample(:,s-Train_Num,c)=Total_Sample(:,s,c);
end
s=s+1;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -