Set union of Datastores with TransformedDatastores
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Matt J
am 26 Jul. 2019
Bearbeitet: Carlos Ramirez
am 8 Sep. 2020
Given an imageDatastore and some transformation of it, e.g.,
imds1 = imageDatastore({'street1.jpg','peppers.png'});
imds2 = transform(imds1,@(x) imwarp(x,tform));
I would like to form the set union of these data stores in some way so that trainNetwork processes the series of images from both imds1 and imds2 as a single combined set (and similarly with the response data). Is this possible in some way?
I am aware that this functionality is somewhat captured by augmentedImageDatastore, but the operation I describe would open up a variety of data augmentation schemes not currently avaialble.
I am also aware of this thread,
but this does not cover what I am pursuing here, because the images in a TransformedDatastore are not physically stored anywhere (nor would I want them to be).
0 Kommentare
Akzeptierte Antwort
Jeremy Hughes
am 26 Jul. 2019
Bearbeitet: Jeremy Hughes
am 26 Jul. 2019
Horizontal (i.e. associated reads)
-----------
cds = combine(imds,otherds);
Vertical (i.e. joining two sets of files into one datastore)
-----------
imds = imageDatastore({'folder1/*.jpg','folder2/*.png'});
Or leave off the extensions
imds = imageDatastore({'folder1/','folder2/'});
7 Kommentare
Carlos Ramirez
am 8 Sep. 2020
Bearbeitet: Carlos Ramirez
am 8 Sep. 2020
Hi, did you ever manage to solve this ?. I don't really understand what's the purpose of the function combine(idms,idms2) (with idms2 being a transformed one) if later the read function returns two images at the same time. How useful is that for training a CNN using trainNetwork ?. Similat to the original question, I do not want to physically store the augmented images created by the transform function. Any help ?
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!