How create desired number of images in the folder

6 views (last 30 days)
How to augment a folder of images?
Suppose i have 7 images in a folder, i wanted to augment these 7 images and create a total of 20 images in the folder (that means 13 new images)
I tried the below code for 1 image
In = imread('peppers.png');
Aug = imageDataAugmenter('RandXReflection',true);
Out = augment(Aug,In);
How to augment, so that i can create desired number of images in the folder

Accepted Answer

Constantino Carlos Reyes-Aldasoro
Hello
First of all, if you have folders you better define these:
baseDir = pwd;
that is the base folder or directory, then define the files you have in that folder, if these are png you can just read those:
>> dir0 = dir ('*.png')
dir0 =
11×1 struct array with fields:
name
folder
date
bytes
isdir
datenum
Now you have all the files in that folder and you do not need to write them one by one, e.g.
>> dir0(1).name
ans =
'Image_0.png'
Then you do the augmentation and then save the images to the folder, create a new filename for your output and print to save in the folder where you are working:
filename='Image_0_rotated.png';
print('-dpng','-r100',filename)
Hope that helps. If it does, please accept the answer, if it not, let me know.
  5 Comments
Constantino Carlos Reyes-Aldasoro
That depends on what you want to do to augment, you can use the same for loop and then use the values as parameters to your function:
https://uk.mathworks.com/help/deeplearning/ref/imagedataaugmenter.html
Constantino Carlos Reyes-Aldasoro
I would suggest to make the changes INSIDE the loop so that you change the parameters automatically.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!