Calling the set of images in subfolder from augmented image datastore

3 visualizzazioni (ultimi 30 giorni)
I have the database contain 180 images in per subfolder. I have 10 subfolder. I have to assign first 60 images in each subfolder to XTrain1, next 60 images in each subfolder to XTrain2, next 60 images in each subfolder to XTrain3.
i have included my code here. Kindly help me to loop the folders.
imagefolder = 'C:\Users\manjurama\Desktop\study\PG\PROJECT\Finger vein database multiple copy\database_10';
imds = imageDatastore(imagefolder,'IncludeSubfolders',true,'LabelSource','foldernames');
numTrainFiles = 0.75;
imageSize = [227 227];
[XTrain,YTrain] = splitEachLabel(imds, numTrainFiles,'randomize');
XTrain = augmentedImageDatastore(imageSize,XTrain);
YTrain = augmentedImageDatastore(imageSize,YTrain);
XTrain1=XTrain(1:60);
XTrain2=XTrain(61:120);
XTrain3=XTrain(121:180);

Risposte (1)

drummer
drummer il 30 Ott 2020
Modificato: drummer il 30 Ott 2020
By your last three lines, you can do the following:
Xtrain1 = XTrain.Files(1:60);
XTrain2 = XTrain.Files(61:120);
XTrain3 = XTrain.Files(121:160);
As you see, you're taking advantage of the augmentedImageDataStore properties. The Files, specifically. You can check them by typing your augmented variable in the command window:
>> XTrain
This is a workaround. You should work on getting each of your training files from different folders at different indexes as you mentioned.
Cheers
  6 Commenti
Rd
Rd il 11 Nov 2020
Dear drummer,
As you mentioned before, i split my imagefolder into training and testing image like
trainingSetFolder/class1
trainingSetFolder/class2
.
.
.
trainingSetFolder/class10
This is the code i have used
imagefolder = 'C:\Users\manjurama\Desktop\training and testing\Training';
XTrain = imageDatastore(imagefolder,'IncludeSubfolders',true,'LabelSource','foldernames');
[XTrain1,XTrain2,XTrain3] = splitEachLabel(XTrain, 0.33,0.33, 0.33, "randomized");
YTrain = XTrain1.Labels;
the database is splitted. But the issue is i couldn't assign the folder name as label.
While using the above code, file name as assigned as labels. hence it shows 180 labels.
i need to the labels(=YTrain) as class1, class2,....class10.
Kindly help me to solve this issue. Thanks.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by