使用 PTB 绘制正方形的形状



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

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;                      

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

很难说没有看到错误。

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

这是我乍一看注意到的潜在问题。

  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?')

相关内容

  • 没有找到相关文章

最新更新