How to present images i random order?

Hi,
I have 10 images and want to present it in random order.
Since there are other images in that folder, I want to specify the pictures which are presented, and then want to show it in random sequence.
How to do it?
Appreciate.

 Accepted Answer

KSSV
KSSV on 3 Apr 2017
Edited: KSSV on 3 Apr 2017
files = dir('*.jpg') ; % all jp gimages in folder
N = length(files) ; % total files
idx = randperm(N) ; % random order of numbers till N
for i = 1:N % loop for each file
files(idx(i)).name
end

4 Comments

I guess, in that way, some other images that are not gonna present would be included. Isn't it?
It picks all .jpg files....if you want a selected files, make them a cell and run the loop.
files = {'apple' 'ball' 'cat' 'dog' 'egg'} ;
N = length(files) ;
idx = randperm(N) ;
for i = 1:N
files{idx(i)}
end
And if you want a random but repeatable sequence you could set the seed for the random number generation before KSSVs script using
rng(1);
This way the sequence is random but you can always reconstruct the exact same sequence using the same seed (in our case 1).
Thanks a lot!!!

Sign in to comment.

More Answers (0)

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Asked:

on 3 Apr 2017

Commented:

on 3 Apr 2017

Community Treasure Hunt

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

Start Hunting!