📄 imgglobalpca.m
字号:
% this function is used to obtain pca feature for a training set or a test set
function s=imgglobalpca(tsign)
pnum = 3648;
bname = 'img_';
inum = 2;
cnum = 1199;
dim = 456;
ipath = strcat('E:\FYC_FERET\pimages\',bname,tsign,'\');
dpath = 'E:\FYC_FERET\datas\';
rname = strcat(dpath,'fea\glo_',tsign,'.dat');
%load parameters
ename = strcat(dpath,'para\','pcaef_',tsign,'.dat');
eigenface = load(ename);
eigenface = eigenface(:,1:dim);
aname = strcat(dpath,'para\','pcaaf_',tsign,'.dat');
averface = load(aname);
averface = averface';
%init result matrix
feamat = zeros(dim,cnum*inum);
%create the file path and name and read out source data
for i=1:cnum
filepath = int2str(i);
imgpath = strcat(ipath,filepath,'\');
for j=1:inum
[i j]
filename=int2str(j);
imnam = strcat(imgpath,filename,'.bmp')
image = imread(imnam,'bmp');
image = double(image)/255;
[imhei,imwid,cdim] = size(image);
immat = zeros(pnum,1);
count = 0;
for ii=1:imhei
for jj=1:imwid
if ~( image(ii,jj,1)==0 & image(ii,jj,2)==0 & image(ii,jj,3)==1 )
count = count+1;
immat(count) = image(ii,jj,1);
end
end
end
if count~=pnum
fprintf(1,'mask error...');
[ count pnum ]
pause;
end
feamat(:,(i-1)*inum+j) = pcafea(immat,averface,eigenface);
end
end
fprintf(1,'Finishing calculate the feature...');
%pause
max(max(feamat))
pause
fid=fopen(rname,'w+t');
for i=1:dim
i
for j=1:cnum*inum
fprintf(fid,'%12.6f ',feamat(i,j));
end
fprintf(fid,'\n');
end
fclose(fid);
fprintf(1,'Finishing store the feature...');
s=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -