Randomly selecting images from a directory

Hello,
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

Use "dir" and "randperm"

4 Comments

Thanks! how would use randperm to select the file the index corresponds to?
Rik
Rik on 25 May 2021
Edited: Rik on 25 May 2021
Have you read the documentation for randperm? What did you try? Also, what makes this different from you previous question?
eagle eyes! yea, i have nothing really to add to what Jan answered in previous post.
Thank you I was able to get it working!

Sign in to comment.

More Answers (1)

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....
end

Categories

Find more on Convert Image Type in Help Center and File Exchange

Tags

Asked:

AK
on 25 May 2021

Answered:

on 25 May 2021

Community Treasure Hunt

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

Start Hunting!