1

我想并排绘制 4 个正方形,使用 PTB 进行实验,但代码不起作用.. 这是我的代码,

square_size = [0 0 50 50];               
squareXpos = [screenXpixels * 0.125 screenXpixels * 0.25 screenXpixels * 0.5  screenXpixels * 0.75];   
numSqaures = length(squareXpos);                 
allColors = [1 0 0; 0 1 0; 0 0 1; 1 0 0];                      
allRects = nan(4, 4);                      
for i = 1:numSqaures                            
    allRects(:, i) = CenterRectOnPointd(square_size, squareXpos(i),  yCenter);             
end                            
Screen('FillRect', window, allColors, allRects);                        
Screen('Flip', window);                         
KbStrokeWait;                      

如果有人知道我如何解决这个问题,请帮助我。

4

1 回答 1

0

很难说没有看到错误。

如果我不得不猜测,输入的格式可能有问题。

这是我乍一看发现的潜在问题。

  1. Psychtoolbox(与 matlab 不同)使用 0 - 255 而不是 0 - 1 的 RGB 比例。使用您的代码,所有颜色都将显示为黑色。用 [255,0,0] 代替红色的 [1,0,0]。

  2. 您的 allColors 矩阵是 nItems X 3(RGB),但该函数希望它相反。您需要转置:allColors',而不是输入 allColors。

如果我在 pscyhtoolbox 上苦苦挣扎,我总是首先检查输入的格式。要获取有关输入的适当格式的帮助,请键入:

Screen('FillRect?')
于 2015-05-25T00:04:11.250 回答