Dies könnte sehr einfach sein, aber ich habe stundenlang nach der richtigen Antwort gesucht.Erstellen Sie eine Liste (oder Array) von Bildern in MATLAB
Ich arbeite an einer visuellen Aufgabe für Primaten und verwende die PsychToolbox in MATLAB. Was ich gerade versuche zu tun, ist, das Foto zu randomisieren, über das sich das Subjekt entscheiden muss. Es gibt viele Codebeispiele für die zufällige Auswahl von Bildern aus einem Verzeichnis, aber die Bilder, die ich verwende, wurden bereits importiert, weil sie zuvor verwendet wurden.
Denn hier Bezug ist der Code, den ich verwendet habe, die Bilder zufällig aus dem Verzeichnis auf meinem Computer zu importieren:
% Get the image files for the experiment
imageFolder = [cd '/ALSAMultiracial/'];
imgList = dir(fullfile(imageFolder, '*.jpg'));
numImages = length(imgList);
numTrials = numImages;
% Generate a random number between 1 and the number of images
randomNumber = randperm(numImages, 1);
% Get corresponding name of the image
randomImage = imgList(randomNumber).name;
% Now load the image
theImage = imread([imageFolder randomImage]);
% Make the image into a texture
tex = Screen('MakeTexture', window, theImage);
% Draw the texture
Screen('DrawTexture', window, tex, [], [], 0);
In dieser Aufgabe habe ich zwischen zwei Bildern Flip: theImage und theImage2. Nachdem ich das getan habe, möchte ich ein zufälliges Bild auswählen, um es anzuzeigen: theImage oder theImage2. Was ich dachte, ist, dass ich eine Liste oder ein Array erstellen und etwas Ähnliches wie vorher machen könnte, aber das Problem ist, dass ich erfolglos versucht habe, eine Liste und ein Array dieser Bilder zu erstellen, um den Prozess zu wiederholen, aber es hat nicht funktioniert. Als Referenz sind alle fraglichen Bilder jpg und die gleiche Größe.
Ihre Hilfe wird sehr geschätzt.
Ich verstehe deine Frage nicht. Wenn Sie zwischen zwei Bildern hin- und herschalten möchten, definieren Sie ein zufälliges Bit, wenn dessen 0 ist, wählen Sie "theImage", andernfalls wählen Sie "theImage2". –
Lassen Sie mich erklären: Also in der ersten Phase des Experiments flash ich Image, dann flash theImage2. In der zweiten Phase möchte ich nach der ersten Phase zufällig Image oder Image2 auswählen. Ich verstehe, was Sie sagen, aber ich könnte das auch versuchen. – collegesista