Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Can somebody solve this error pleaaase?

1 vue (au cours des 30 derniers jours)
LuS
LuS le 8 Août 2015
Clôturé : MATLAB Answer Bot le 20 Août 2021
Hi all,
I have been struggling (new in Matlab) since yesterday to solve persistant errors and cannot find a way to 'Make Texture' for multiple images. Here is my experiment:
I want to show a number of images, one by one, every 500 milliseconds and every image should stay on the screen for 500ms. Each image should be repeated 9 times but the whole presentation should be random. That is, I do not want to present 1 to 10 randomly and then repeat that same order. I want all images, repeated 9 or 10 times but with random presentation.
Also, I cannot figure out how to 'Make Texture' for multiple images :-( I really need that Function urgently. Can anybody tell me what is wrong with what I wrote?
Many thanks!!
function X
%Open the screen
Screen('Preference', 'SkipSyncTests', 1);
[wPtr,rect]=Screen('OpenWindow',max(Screen('Screens')), [], [0 0 500 500]);
xCenter=rect(3)/2;
yCenter=rect(4)/2;sca
%set up some vectors with our options
allFiles=dir('C:\Users\X\Desktop\MatlabTutorial\EGItest\*.jpeg');
allNames={allFiles};
images_info=dir(fullfile('C:\Users\X\Desktop\MatlabTutorial\EGItest\*.jpeg'));
numImage=length(images_info);
images=cell(numImage,1);
imagenum=1:18;
thingnum=1:9;
[IMAGENUM, THINGNUM]=ndgrid(imagenum,thingnum);
pair_specs=[IMAGENUM(:), THINGNUM(:)];
randorder=randperm(size(pair_specs,1));
rand_specs=pair_specs(randorder,:);
for K=1:numImage
images{K}=imread(fullfile('C:\Users\X\Desktop\MatlabTutorial\EGItest\*.jpeg', images_info.name));
end
T=repmat(1:numImage, 1, 9);
Trand=T(randperm(length(T)));
for K=1:length(Trand)
ourTexture=Screen('MakeTexture', wPtr, );
Screen('DrawTexture', wPtr, ourTexture,[], ourRect);
stimTime=Screen('Flip', wPtr);
imtool(images{k});
repelem(v,3);
end
%Get size of image (all images the same size in this example)
%imageHeight
%imageWidth
%colorChannels
[imageHeight, imageWidth,colorChannels]=size(0);
%Set up left and right picture locations
gap=100; %distance of pics from center
leftRect=[xCenter-gap-imageWidth, yCenter-imageHeight/2, xCenter+imageHeight/2];
rightRect=[xCenter+gap, yCenter-imageHeight/2, xCenter+gap+imageWidth, yCenter+imageHeight/2];
%loop for 180 trials
for trial=1:180
file_name=dir(strcat('C:\Users\X\Desktop\MatlabTutorial\EGItest\*.jpeg'));
end
%pick a random number 1 or 2
randTextureNum=randi(2);
%pick a random number 1 or 2
randRectNum=randi(2);
end

Réponses (1)

Walter Roberson
Walter Roberson le 8 Août 2015
  1 commentaire
Walter Roberson
Walter Roberson le 13 Août 2015
Screen() is not a Mathworks routine. It could do anything for all we know about it. We have no idea what it does or how it does it or what it is intended to do. You will need to either supply the code for it that you wrote or else tell us where to find the code.
I am not going to try to debug the rest of your code until you fix the file handling as I indicated needed to be done in one of your other threads.

Cette question est clôturée.

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by