Randomly selecting images from a directory

51 views (last 30 days)
I have a directory of 10000 JPEG files. I want to write a script that can randomly select 100 images from this directory and save these images to a new folder on my desktop. How do I do this?
Thank you!

Accepted Answer

J. Alex Lee
J. Alex Lee on 25 May 2021
Use "dir" and "randperm"
AK on 25 May 2021
Thank you I was able to get it working!

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 25 May 2021
This is how I'd do it:
fileList = dir('*.jp*');
numFiles = length(fileList)
orderToUse = randperm(numFiles);
for k = 1 : numFiles
% Get what random index this one is.
index = orderToUse(k);
% Construct the full filename.
fullFileName = fullfile(fileList(index).folder, fileList(index).name);
fprintf('Processing #%d of %d:\n which is file #%d in the list : %s\n',...
k, numFiles, index, fullFileName);
% Now do something with the file....


Community Treasure Hunt

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

Start Hunting!

Translated by