how to store data in cell array

1 次查看(过去 30 天)
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';

采纳的回答

Bruno Luong
Bruno Luong 2018-10-20
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);
  7 个评论
Bruno Luong
Bruno Luong 2018-10-20
Alternatively you can also do
v = v(:)
after resizing into 40x40 to make it as a long vertical vector

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by