Randomly shuffle folder of images and save it

4 次查看(过去 30 天)
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

采纳的回答

KSSV
KSSV 2022-8-3
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by