# How read multiple image to Matlab memory

7 views (last 30 days)
Pawel Osadnik on 30 May 2018
I would like to aks You how can I read a multiple image to Matlab ? I have n foto in Folder on my laptop and I need to put all of them into Matlab memory and then I need to convert image to binary image and after that I need convert all my image to double precision. I try make it with for loop but I have no idea how should to do. All od this steps are needed because I would like to make a Neural Network to Recognize a Road Sing. Now I have something like that:
% B=im2bw(B);
% B=double(B);
%
% C=im2bw(C);
% C=double(C);
True is, in this way I need all day to put all of my patterns. Someone give me some advice ?
Thank You.
##### 2 CommentsShowHide 1 older comment
Stephen23 on 31 May 2018
function results = myvarfcn(var)
imBW = im2bw(image);
imDouble = double(imBW);
reimage = reshape(imDouble,40000,1);
results.image = image;
results.imBW = imBW;
results.imDouble = imDouble;
results.reimage = reimage;
end
I have something like this and it is working, but... Answer is 1-by-1 structure with all (4) results. Ok, but how can I upload (all at once) files into this function ? And after that I need one big structure or many structure with results from my files.
For my NN need one Matrix with all patterns.
Thank.

Florian Morsch on 30 May 2018
You could use the the Image Batch Processor if you have it at hand: https://de.mathworks.com/help/images/batch-processing-using-the-image-batch-processor-app.html
Here you can load all images from a file and do something with them ( Your function would look something like this:
function results = myimfcn(im)
%Image Processing Function
%
% IM - Input image.
% RESULTS - A scalar structure with the processing results.
%
%--------------------------------------------------------------------------
% Auto-generated by imageBatchProcessor App.
%
% When used by the App, this function will be called for every input image
% file automatically. IM contains the input image as a matrix. RESULTS is a
% scalar structure containing the results of this processing function.
%
%--------------------------------------------------------------------------
% Replace the sample below with your code----------------------------------
imBW = im2bw(im);
imDouble = double(imBW);
results.imBW = imBW;
results.imDouble = imDouble;
%--------------------------------------------------------------------------
The batch processor app loads all images you tell it, uses the function you insert on the images and then you can save the results as you please.
Pawel Osadnik on 31 May 2018
Edited: Pawel Osadnik on 31 May 2018
I now about it, my mistake. I change this for code: And use Image Batch Processor App.
function results = myimfcn(im) %Image Processing Function % % IM - Input image. % RESULTS - A scalar structure with the processing results. %
%-------------------------------------------------------------------------- % Auto-generated by imageBatchProcessor App. % % When used by the App, this function will be called for every input image % file automatically. IM contains the input image as a matrix. RESULTS is a % scalar structure containing the results of this processing function. % %-------------------------------------------------------------------------- % Replace the sample below with your code----------------------------------
imBW = im2bw(im);
imDouble = double(imBW);
imReshape = reshape(imDouble,40000,1);
results.imBW = imBW;
results.imDouble = imDouble;
results.imReshape = imReshape;
And now I have my files in matlab but as Struct. And this problem because NN need matrix. My one cell in struct is a 40000x1 and this I need to have in my Workspace.
imReshape
____________
40000x1 double % This I need to have in Workspace as a single Matrix
40000x1 double
40000x1 double
40000x1 double
etc
Any idea how to "convert" struct to matrix ?

Pawel Osadnik on 31 May 2018
I make it. Thank for Your help.