Random display of 1 out of several images

2 views (last 30 days)
Dear all,
I have a folder containing 8 images and I want matlab to choose only one of those images by random to display the picture in the center of the screen. The images are in the folder /congruent and are named for example "1.bmp" or "2.bmp".
I tried the follwing code, but it doesn't work as I don't really know how to access the images in the right way.
Thank you very much in advance!!
if trialcondition == 1 % congruent condition
randomnumber = randi([1 8]);
picture = imread(fullfile(pwd,'congruent',randomnumber,'*.bmp'));
imshow(pictue);
WaitSecs(1);
elseif trialcondition == 2 % incongruent condition
% here should essentially happen the same but with a different folder
end

Accepted Answer

David Hill
David Hill on 17 Jun 2020
Edited: David Hill on 17 Jun 2020
You could read all the images into a cell array (each image in an element), then:
for k=1:8
imageCell{k}=imread([num2str(k),'.bmp']);
end
imshow(imageCell{randi(8)});

More Answers (0)

Community Treasure Hunt

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

Start Hunting!