Hi,
I am working on something where I have a vector of image files, and I get Matlab to shuffle them and give me one. I would like to take the output answer (the random image) and display it. How do I assign the output a name? I tried ans=RandImage, but that didn't work. Here's the code I have that leads up to this. Thanks!
Images = {'11a.bmp';'12b.bmp';'12c.bmp'; etc. etc.}
% Shuffle images
Images=Shuffle(Images)
Images{ceil(rand(1)*length(Images))}
%% Here's where Matlab gives me an image %%
ans = 11w.bmp
^ I would like to take this to somehow plug the output into the imread command.
Thanks!

 Akzeptierte Antwort

Orion
Orion am 5 Nov. 2014
Bearbeitet: Orion am 5 Nov. 2014

0 Stimmen

Hi, for what I see, you need to do :
Images = {'11a.bmp';'12b.bmp';'12c.bmp'}; % list of images
RandomNumber = randi([1 length(Images)]); % random number between 1 and the number of images
image(imread(Images{RandomNumber)) % display the random image.

2 Kommentare

Chelsea
Chelsea am 5 Nov. 2014
Bearbeitet: Chelsea am 5 Nov. 2014
Thanks for your response! I've figured it out :)
Orion
Orion am 5 Nov. 2014
just create an output variable.
Images = {'11a.bmp';'12b.bmp';'12c.bmp'; etc. etc.}
% Shuffle images
Images=Shuffle(Images)
MyRandomImage = Images{ceil(rand(1)*length(Images))};
then use
image(imread(MyRandomImage))
One Important thing : ans is a key word in matlab, try to never use it, otherwise you're gonna have some trouble later.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Gefragt:

am 5 Nov. 2014

Kommentiert:

am 5 Nov. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by