How can i create a image array includes files from a specific folder?

3 views (last 30 days)
how can i create a database from images in a folder? here is my code but it is giving error.
directory = fullfile('./buildings');
images = dir(fullfile(directory,'*.jpg'));
names = {images.name}';
I=zeros(numel(names),144,176,3); %size of the images are constant and 144*176*3
for k=1: numel(names)
I{k} = imread(fullfile(directory,names{k}));
I{k}=tempI;
figure; imshow(I{k});
%operations
end
Error is this:
Cell contents assignment to a non-cell array object.
Error in application2exercise3 (line 9)
I{k} = imread(fullfile(directory,names{k}));
Ty for your help.

Accepted Answer

Image Analyst
Image Analyst on 18 Oct 2012
What is tempI? It's not defined.
  2 Comments
Image Analyst
Image Analyst on 18 Oct 2012
Try it like this:
images = dir(fullfile(directory,'*.jpg'));
names = {images.name}';
I=cell(numel(names), 1);
for k=1: numel(names)
I{k} = imread(fullfile(directory,names{k}));
imshow(I{k});
end
The problem was that you first defined I as a 3D numerical array and then was trying to stuff 3D color images into it as if I were a cell, but I was not a cell array.

Sign in to comment.

More Answers (1)

koray
koray on 18 Oct 2012
Thank you for your response. It worked!

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!