Randomly shuffle folder of images and save it

7 views (last 30 days)
I have 5 images named 1.jpg, 2.jpg ... 5.jpg
I wanted to create a random number of 1 to 5 and write these images in the random number order, as 6.jpg, 7.jpg ... 10.jpg
Suppose the random order generated is 3, 1, 4, 5, 2
I wanted to write 3.jpg as 6.jpg; 1.jpg as 7.jpg; ..... 2.jpg as 10.jpg
Now i have total 10 images. Again I want to create a random number of 1 to 10 and write these images in the random number order, as 11.jpg, 12.jpg ... 20.jpg
Till I get 25 images in total in the folder

Accepted Answer

KSSV
KSSV on 3 Aug 2022
imgFiles = dir('*.jpg') ;
N = length(imgFiles) ;
n = randsample(1:10,N) ; % you can out your limits here
for i = N
I = imread(imgFiles(i).name) ;
fname = strcat(num2str(n(i)),'.jpg') ;
imwrite(I,fname) ;
end

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!