Randomly selecting images from a directory

13 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"
J. Alex Lee
J. Alex Lee on 25 May 2021
eagle eyes! yea, i have nothing really to add to what Jan answered in previous post.
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....


Find more on File Operations in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!