MATLAB Answers

Random display of 1 out of several images

1 view (last 30 days)
Sophie Hanke
Sophie Hanke on 17 Jun 2020
Commented: Sophie Hanke on 18 Jun 2020
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

  0 Comments

Sign in to comment.

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)});

  1 Comment

Sophie Hanke
Sophie Hanke on 18 Jun 2020
This works! Thank you very much.

Sign in to comment.

More Answers (0)