You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.9 KiB
Matlab
66 lines
1.9 KiB
Matlab
function [data,class,inTrain,inTest,imDims,numClasses]=images_load_dataset(task);
|
|
switch task
|
|
case 'USPS'
|
|
load('../../Data/usps.mat');
|
|
imDims=[16,16];
|
|
fixedSplit=7291;
|
|
class=data(:,257)';
|
|
data=data(:,1:256);
|
|
case 'MNIST'
|
|
imDims=[28,28];
|
|
trainingImagesPerDigit=2000;
|
|
data=[];class=[];
|
|
for i=1:10
|
|
load(['../../Data/LeCun-MNIST_handwrittendigits/digit',int2str(i-1)]);
|
|
class=[class,i*ones(1,trainingImagesPerDigit)];
|
|
data=[data;D(1:trainingImagesPerDigit,:)];
|
|
end
|
|
fixedSplit=size(data,1);
|
|
for i=1:10,
|
|
load(['../../Data/LeCun-MNIST_handwrittendigits/test',int2str(i-1)]);
|
|
class=[class,i*ones(1,size(D,1))];
|
|
data=[data;D];
|
|
end
|
|
case 'YALE'
|
|
imDims=2.*[24,21];
|
|
subjNum=[1:13,15:39];
|
|
datatrain=[];datatest=[];
|
|
classtrain=[];classtest=[];
|
|
for i=subjNum
|
|
if i<10
|
|
datadir=['../../Data/YaleFaceBExtendedCropped/yaleB0',int2str(i),'/'];
|
|
filenames=[datadir,'yaleB0',int2str(i),'_P00A*.pgm'];
|
|
else
|
|
datadir=['../../Data/YaleFaceBExtendedCropped/yaleB',int2str(i),'/'];
|
|
filenames=[datadir,'yaleB',int2str(i),'_P00A*.pgm'];
|
|
end
|
|
files=dir(filenames);
|
|
for j=1:length(files)
|
|
I=imread([datadir,files(j).name]);
|
|
x=single(imresize(I,imDims,'bilinear'))';
|
|
if j==odd(j)
|
|
datatrain=[datatrain,x(:)];
|
|
classtrain=[classtrain,i];
|
|
else
|
|
datatest=[datatest,x(:)];
|
|
classtest=[classtest,i];
|
|
end
|
|
end
|
|
end
|
|
fixedSplit=size(datatrain,2);
|
|
data=[datatrain,datatest]';
|
|
class=[classtrain,classtest];
|
|
imDims=fliplr(imDims);
|
|
end
|
|
numExemplars=length(class)
|
|
inTrain=1:fixedSplit;
|
|
inTest=fixedSplit+1:numExemplars;
|
|
%ensure class labels are sequentially numbered starting from 1
|
|
class=class+max(0,1-min(class));
|
|
k=0;
|
|
for c=unique(class)
|
|
k=k+1;
|
|
class(class==c)=k;
|
|
end
|
|
numClasses=k
|