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 次查看(过去 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';
0 个评论
采纳的回答
Bruno Luong
2018-10-20
7 个评论
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 Center 和 File Exchange 中查找有关 Database Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!