Borrar filtros
Borrar filtros

how can i read/train all images from subfolders

5 visualizaciones (últimos 30 días)
mark
mark el 12 de En. de 2015
Comentada: Image Analyst el 13 de Abr. de 2017
hello can you help me to modified my code? so i have 3 subfolder in database folder and every subfolder there is 5 pictures on it and i want to read all images in all subfolders and train it.
this is my code that i use in training all images from database folder:
clc;
dn='.\database\';
db=dir(strcat(dn,'*.jpg'));
k=1;
%length(db)
p=1;
for(i=1:1:length(db))
fname=db(i).name;
fname=strcat(dn,fname);
im=imread(fname);
axes(handles.axes1);
imshow(im);
im=rgb2gray(im);
im=imresize(im,[256 256]);
X=double(im);
k=k+1;
f=lbp_sir(X);
plot(f);
Features(:,p)=f;
TrnFile(p).name=fname;
p=p+1;
end;
save features Features TrnFile

Respuesta aceptada

Image Analyst
Image Analyst el 12 de En. de 2015
See my attached demo that will recurse into all subfolders and get image file names. Then process them in whatever way you want.
  13 comentarios
Jyothi Alugolu
Jyothi Alugolu el 13 de Abr. de 2017
while running your code,the files were not loading in order,if there are 100 images of each 8 samples..then from 1_1,1_2..,1_8....2_1,2_2...2_8...100_1,..100_8 must be loaded....instead of that by your code images were loading starting from 100_1,100_2...next 10_1,10_2...last 9_1..9_8 were loading..there is solution by using natsortfiles function..but i am not knowing where i have to call natsortfile function..please tell me.
Image Analyst
Image Analyst el 13 de Abr. de 2017
I imagine you'd put the call to replace this line:
baseFileNames = dir(filePattern);
which is the line that gets all the filenames in the folder you're looking in at the moment. But actually, it looks like Stephen's function goes into subdirectories, so maybe all you need it his function, not mine.

Iniciar sesión para comentar.

Más respuestas (3)

Dima Lisin
Dima Lisin el 12 de En. de 2015
If you have a recent version of MATLAB with the Computer Vision System Toolbox, then you can use imageSet.
  2 comentarios
mark
mark el 12 de En. de 2015
thankyou so much for your response. can you help me to modified my code ?:(
Dima Lisin
Dima Lisin el 13 de En. de 2015
Editada: Dima Lisin el 13 de En. de 2015
imgSets = imageSet('.\database\', 'recursive');
will return an array of imageSet objects.
imgSets(1).Description
will contain the name of the first subfolder.
imshow(read(imgSets(2), 2));
will display the second image in the second folder. Please see the documentation of imageSet for more details.

Iniciar sesión para comentar.


Priyabrata Karmakar
Priyabrata Karmakar el 3 de Feb. de 2016
You can use the following code. Cut and paste the whole code from below, insert the path of your main database folder in 'Database Path' section. sourceFiles consists of the paths of individual images which you can read using imread function.[imread(sourceFiles(i).name]. labels which is needed during classification will give you the corresponding labels of individuals images in sourceFiles.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
imgSets = imageSet('Database Path', 'recursive'); m=1;sourceFiles=[];labels=[]; for i=1:length(imgSets) srcFiles=dir(strcat('Database Path\',imgSets(i).Description,'\*.jpg'));
for j=1:length(srcFiles)
srcFiles(j).name = strcat('Database Path\',imgSets(i).Description,'\',srcFiles(j).name);
end
l=length(srcFiles);
label=m*ones(l,1);
sourceFiles=[sourceFiles;srcFiles];
labels=[labels;label];
m=m+1;
end

aras masood
aras masood el 28 de En. de 2017
hello every on please anyone tell me i have a database for hand recognition i want replace this database to a folder which is consists of a set of images i want use them to train and recognize faces by this folder could anyone tell me how to do such things please ?
  1 comentario
Walter Roberson
Walter Roberson el 28 de En. de 2017
We need further information about what is stored in the database and how the program accesses the data. For example the database might contain the weights of a trained neural network that has already been trained on extracted features and so it might be necessary to do a bunch of computing on your custom images. We do not know, as you do not give enough information.
But instead of replying here you should open a new Question for this and give the details there and then delete this post.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by