faceData = cell(40,5); % or cell(5,40) for i=1:40 for j=1:5 % ... read v w = uint8(v); faceData{i,j} = w; % or faceData{j,i} = w; end end faceData = reshape(faceData,[],1);
how to store data in cell array
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Balaji M. Sontakke
am 20 Okt. 2018
Kommentiert: Balaji M. Sontakke
am 20 Okt. 2018
I have 40 folders and each folder having 10 images, I have written one program for reading first five
images from 40 folders and stored in one cell array but I got the dimension i.e. 40 X 1 as given below
40 X 40
40 X 40
.
.
40 X 40
but I required the dimension of cell array i.e. 200 X 1 as given below
1600 X 1
1600 X 1
.
.
1600 X 1
function out=load_database()
% We load the database the first time we run the program.
persistent loaded;
persistent w;
if(isempty(loaded))
v=zeros(10304,400);
for i=1:40
cd(strcat('s',num2str(i)));
for j=1:5
a=imread(strcat(num2str(j),'.bmp'));
%v(:,(i-1)*10+j)=reshape(a,size(a,1)*size(a,2),1);
v = imresize(a,[40,40]);
end
w=uint8(v);
faceData{i}=w;
cd ..
end
end
loaded=1; % Set 'loaded' to aviod loading the database again.
out=faceData';
0 Kommentare
Akzeptierte Antwort
Bruno Luong
am 20 Okt. 2018
7 Kommentare
Bruno Luong
am 20 Okt. 2018
Alternatively you can also do
v = v(:)
after resizing into 40x40 to make it as a long vertical vector
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Database Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!